0

私は mvc と javascript を初めて使用します。最初は、javascript を使用して分割で部分ビューを適用しています

$('.btngo').click(function (e) {
        var fid = $('#FiscalYear_FYId').val();
      alert($('#FiscalYear_FYId').val());
        $.ajax({
            type: 'Get',
            url: '@Url.Action("RateList", "Rate")',
            data: { fyid: fid },
            success: function (sc) {
                $('#Ratelist').html(sc);

            }
        });
    });

部分的なビューは、ビューが次のように見える送信ボタンで構成されるモデル FHIControl.Model.StationeryRate.RateDTO のものです

@using (Html.BeginForm("Ratelist", "Rate", FormMethod.Post))
{
    @Html.ValidationSummary(true)

    <table>
    <thead>
    <tr>
    <th>Item Id</th>
    <th>Item Name</th>
    <th>Rate</th>

    </tr>
    </thead>

   @Html.HiddenFor(x=>Model.FiscalYear.FYId)
     @foreach (var item in Model.RateList)
      {
        <tr>
             @Html.HiddenFor(x => item.ItemId)
         <td>@{count++;}@count</td>
        <td>@Html.DisplayFor(x => item.ItemName)</td>
        <td>@Html.TextBoxFor(x => item.Rate)</td>
        </tr>
      }


</table>
        <p>
            <input type="submit" value="Ok" id="btnsubmit" />
        </p>
}

送信ボタンはフォームを送信していますが、モデル項目がありません.なぜですか?これを機能させる方法はありますか?

4

1 に答える 1

0

の値のみを渡しているため、モデル項目はありませんFiscalYear_FYId:

    var fid = $('#FiscalYear_FYId').val();
    $.ajax({
        data: { fyid: fid },                    
    });

次のようになります。

    $.ajax({
        data: $form.serialize(),            
    });

$formフォームへの参照はどこにありますか。より速くより適切な参照のために名前を付けるか、次のように参照できます。

    var $form = $("#btnsubmit").parents('form');
于 2013-03-28T10:45:11.897 に答える