0

私の ASP MVC ビューでは、アカウント番号を使用して、SQL テーブルから姓を取得します。ユーザーがアカウント番号を入力し、タブでフィールドの外に出ると、Ajax 呼び出しがサーバーに送り返され、DisplayForフィールドに値を入力することになっています。ただし、このコードは、div要素idに を指定し、Ajax 呼び出しを使用して を の に配置したLastName場合にのみ機能.text()divます。ただし、何らかの理由で、LastNameコントローラーに送り返されたときの値はnull.

以下のコード (書かれているはずですが..ほとんど何もしていません。名前は取得されますが、DisplayForフィールドには追加されません。また、フォームが送信されるLastNameと、モデル オブジェクトの値はnull.上で述べたように、divanidを与えLastNameDisplayて ajax successfunctionに含めると$('#LastNameDisplay').text(data)、姓が に追加されて表示されdivますが、それでもnullコントローラーに値が返されます。

これは非常に単純な操作であり、このサイトの他のいくつかのページで完了します。ここで何がうまくいかないのですか?

jQuery

    $('#AccountNumber').on("blur", function () {
        $.ajax({
            type: 'GET',
            url: '@Url.Action("GetLastName", "Agent")',
            data: { account: $(this).val() },
            success: function (data) {
                $('#LastName').val(data);
                $('#LastName').text(data);
            }
        });
    });

HTML/かみそり

                    <div class="M-editor-label">
                        @Html.LabelFor(model => model.AccountNumber)
                        <span class="req">@Html.Raw("*")</span>
                    </div>
                    <div class="M-editor-field">
                        @Html.TextBoxFor(model => model.AccountNumber, new { maxlength = 9, title = "Enter 9 digit account number" })
                    </div>

                    <div class="M-editor-label">
                        @Html.LabelFor(model => model.LastName)
                    </div>
                    <div class="M-editor-field">
                        @Html.TextBoxFor(model => model.LastName, new { style="display:none;" })
                        @Html.DisplayFor(model => model.LastName)
                    </div>

生成された HTML

<div class="M-editor-label">
    <label for="AccountNumber">Account Number</label>
    <span class="req">*</span>
</div>
<div class="M-editor-field">
    <input id="AccountNumber" maxlength="9" name="AccountNumber" title="Enter 9 digit account" type="text" value="019000109" />
</div>
<div class="M-editor-label">
    <label for="LastName">Last Name</label>
</div>
<div class="M-editor-field">
    <input id="LastName" name="LastName" style="display:none;" type="text" value="" />

</div>
4

0 に答える 0