Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 返回JSON数据后如何在视图上显示文本_Jquery_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

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);
});