Jquery 返回JSON数据后如何在视图上显示文本
我使用的是Jquery 返回JSON数据后如何在视图上显示文本,jquery,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我使用的是ASP.netmvc4和最新版本的jQuery 我有一个用于输入分支机构编号的文本框。在这个文本框中输入分支编号并释放焦点后,我需要执行一个AJAX调用来检索分支名称。然后,我需要在视图上显示此分支名称,仅用于查看目的,不需要编辑 文本框的My HTML标记和分支名称的“text”: <td class="edit-label">Branch Number: <span class="required">*</span></td> <
ASP.netmvc4
和最新版本的jQuery
我有一个用于输入分支机构编号的文本框。在这个文本框中输入分支编号并释放焦点后,我需要执行一个AJAX调用来检索分支名称。然后,我需要在视图上显示此分支名称,仅用于查看目的,不需要编辑
文本框的My HTML标记和分支名称的“text”:
<td class="edit-label">Branch Number: <span class="required">*</span></td>
<td>
@Html.TextBoxFor(x => x.BranchNumber, new { maxlength = "6" })
@Html.Display("BranchName", new { id = "BranchName" })
</td>
调用服务以返回分支名称的我的操作方法:
public ActionResult GetBranchName(long branchNumber)
{
Check.Argument.IsNotNegative(branchNumber, "branchNumber");
string branchName = myService.GetBranchName(branchNumber);
return Json(branchName, JsonRequestBehavior.AllowGet);
}
我的视图模型:
public class MyViewModel
{
public long BranchNumber { get; set; }
public long BranchName { get; set; }
}
当我返回分支名称时,我需要在视图上显示它。我不确定最好的展示方式是什么?我尝试了LabelFor和DisplayFor,但它没有显示,因此当返回分支名称时,它找不到控件,因此它没有显示。Textbox工作正常,但我不希望用户能够更改分支的名称
什么是最好的解决方案?我应该只使用span元素,然后在这里显示分支名称吗?您可以使用强类型视图、任何html元素,并且仍然允许模型绑定器完成它的工作
// your view
// using div as an example
<div id="@("Branch"+Model.BranchName)">@Model.BranchName</div>
//
// in your js do this
$.getJSON(url, data, function (data) {
$('#Branch'+@Model.BranchName).text(data);
});
//您的视图
//以div为例
@Model.BranchName
//
//在你的js中,你可以这样做
$.getJSON(url、数据、函数(数据){
$('#Branch'+@Model.BranchName).text(数据);
});
您不能对ajax返回值使用任何强类型帮助器,因为您将无法绑定回razor。所以一个span是最好的。我想让它强类型化,这样如果表单被刷新,那么我需要它将分支名称保留在那里。但是用什么强类型化呢?您不会从ajax绑定回您的模型。。。
// your view
// using div as an example
<div id="@("Branch"+Model.BranchName)">@Model.BranchName</div>
//
// in your js do this
$.getJSON(url, data, function (data) {
$('#Branch'+@Model.BranchName).text(data);
});