Jak przekazać wartość wprowadzoną w texboksie do PartialViewResult?

Tworzę aplikację MVC, w której użytkownik może dodawać elementy do koszyka. Mogą również dokonywać płatności częściowych na niektóre przedmioty, więc mam dla nich TextBox, aby określić, ile chcą zapłacić. Używam Ajax ActionLink do obsługi akcji Aktualizuj / Dodaj do koszyka, dzięki czemu mogę zwiększyć liczbę koszyków bez odświeżania ekranu przy użyciu częściowego widoku. Moim problemem jest to, że nie mogę znaleźć sposobu na przekazanie lub uzyskanie dostępu do wartości wprowadzonej w TextBox do mojej funkcji PartialViewResult.

Oto mój model ...

Public Class StudentSchoolFee_Transaction

    Public Property SchoolFeeId As Integer
    Public Property Title As String
    Public Property Price As Decimal
    Public Property AmountDue As Decimal
    <DisplayFormat(ApplyFormatInEditMode:=True, DataFormatString:="{0:C2}")>
    Public Property Amount As Decimal
    Public Property Description As String
    Public Property AcceptPartialPayment As Boolean
    Public Property StudentId As Integer

    Public Property TransactionId As Integer

End Class

Public Class AssignedFeesModel

    Public Property StudentId As Integer
    Public Property StudentNumber As Long
    Public Property SiteId As String

    Public Property SelectedSchoolFeeId As Integer
    Public Property SelectedAcceptPartial As Boolean
    Public Property SelectedAmountDue As Decimal
    Public Property SelectedAmount As Decimal
    Public Property SelectedTransactionId As Integer

    Public Property AssignedFeesCol As System.Collections.Generic.List(Of   StudentSchoolFee_Transaction)

    Public Sub New()

    End Sub

    Public Sub New(ByVal _Deliver As EMS.Grid.Deliver, ByVal _StudentId As String)

        Dim SelectedStudent As New Library.Student(_Deliver, _StudentId)

        AssignedFeesCol = New System.Collections.Generic.List(Of StudentSchoolFee_Transaction)

        StudentId = SelectedStudent.Id
        StudentNumber = SelectedStudent.StudentNumber
        SiteId = SelectedStudent.SiteId

        'Load AssignedFeesCol   
    End Sub
End Class

Oto moje początkowe ładowanie ActionResult i mój AddAssignedFee PartialViewResult, aby odświeżyć liczbę koszyków ...

    Function AssignedFees(ByVal StudentId As String, Optional ByVal ErrorMessage As String = "") As ActionResult
        Dim oDeliver As New EMS.Grid.Deliver
        oDeliver.UDLNameOrConnString = ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString

        Dim m As New AssignedFeesModel(oDeliver, StudentId)

        Dim stu As New Library.MealHistoryDB.Student(oDeliver, m.StudentNumber, UserSession.GetSession.DistrictId)

        Return View(m)
    End Function

    Public Function AddAssignedFee(ByVal StudentId As Integer, ByVal SchoolFeeId As Integer, ByVal SelectedAmount As Decimal) As PartialViewResult

        Dim oDeliver As New EMS.Grid.Deliver
        oDeliver.UDLNameOrConnString = ConfigurationManager.ConnectionStrings("DefaultConnection").ConnectionString

        With New Library.Ecommerce.SchoolFee(oDeliver, SchoolFeeId)
            .AddToCart(oDeliver, UserSession.GetSession.ParentId, StudentId, SelectedAmount)
        End With

        Return PartialView("_CartButton") ', New Global.MSM.mobile.CartButton())

    End Function

A oto moje linki akcji Ajax, pierwsze to dodanie elementu bez określonej kwoty i działa. Drugim jest aktualizacja elementu, który może mieć częściową płatność Kwota i nie mogę znaleźć sposobu na przekazanie kwoty do PartialViewResult.

@Ajax.ActionLink("Add", "AddAssignedFee", "Parent", New With {.StudentId = currentItem.StudentId, .SchoolFeeId = currentItem.SchoolFeeId, .SelectedAmount = currentItem.Amount}, New AjaxOptions() With {.HttpMethod = "POST", .InsertionMode = InsertionMode.Replace, .UpdateTargetId = "btnCartContainer"}, New With {.class = "button"})


@Ajax.ActionLink("Update", "AddAssignedFee", "Parent", New With {.StudentId = currentItem.StudentId, .SchoolFeeId = currentItem.SchoolFeeId, .SelectedAmount = currentItem.Amount}, New AjaxOptions() With {.HttpMethod = "POST", .InsertionMode = InsertionMode.Replace, .UpdateTargetId = "btnCartContainer"}, New With {.class = "button"})

Próbowałem także „.SelectedAmount = Model.SelectedAmount” dla łącza Update, ale nie mogę znaleźć sposobu na przekazanie wprowadzonej kwoty do PartialViewResult.

Jakieś sugestie?

Dziękuję Ci! Lindsay

questionAnswers(1)

yourAnswerToTheQuestion