在我的ASP MVC视图中,我们使用帐号从SQL表中提取姓氏。一旦用户从字段中输入帐号和标签,就会将Ajax调用发送回服务器,并将该值输入DisplayFor
字段。但是,此代码仅在div
元素为id
时才有效,然后使用Ajax调用将LastName
放入.text()
的{{1}} 。但无论出于何种原因,div
值在发送回控制器时为LastName
。
下面的代码(因为它应该写得很好......几乎没有。它将检索名称,但它不会将其附加到null
字段。此外,当提交表单时,模型对象上DisplayFor
的值为LastName
。就像我上面提到的,如果我给null
div
id
,并包含在ajax中LastNameDisplay
函数success
,姓氏将附加到$('#LastNameDisplay').text(data)
并且可见,但仍然会将div
值发送回控制器。
这应该是一个非常简单的操作,我在本网站的其他几页上完成的操作。知道这里出了什么问题吗?
的jQuery
null
HTML /剃须刀
$('#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>