Wie kann ich einen in einer Textbox eingegebenen Wert an ein PartialViewResult übergeben?

Ich erstelle eine MVC-App, in der der Benutzer Artikel in den Warenkorb legen kann. Sie können auch Teilzahlungen für bestimmte Artikel leisten, sodass ich ihnen eine Textbox zur Verfügung stelle, in der sie angeben können, wie viel sie bezahlen möchten. Ich verwende einen Ajax ActionLink, um die Aktionen "Aktualisieren" / "Zum Warenkorb hinzufügen" zu verarbeiten, sodass ich die Anzahl der Einkaufswagen erhöhen kann, ohne den Bildschirm mithilfe einer Teilansicht zu aktualisieren. Mein Problem ist, dass ich keine Möglichkeit finde, den in der TextBox eingegebenen Wert an meine PartialViewResult-Funktion zu übergeben oder darauf zuzugreifen.

Hier ist mein 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

Hier sind meine anfänglichen Ladeergebnisse ActionResult und AddAssignedFee PartialViewResult, um die Anzahl der Einkaufswagen zu aktualisieren ...

    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

Und hier sind meine Ajax-Aktionslinks. Die erste dient zum Hinzufügen eines Elements ohne Angabe eines Betrags und funktioniert. Die zweite Option dient zum Aktualisieren eines Artikels, der einen Teilzahlungsbetrag enthalten kann, und ich kann keine Möglichkeit finden, den Betrag an PartialViewResult zu übergeben.

@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"})

Ich habe auch ".SelectedAmount = Model.SelectedAmount" für den Update-Link ausprobiert, aber es scheint nicht möglich zu sein, den eingegebenen Betrag an PartialViewResult zu übergeben.

Irgendwelche Vorschläge?

Vielen Dank! Lindsay

Antworten auf die Frage(1)

Ihre Antwort auf die Frage