0
我不知道我需要在MVC4项目中做什么。它在MVC3项目中运行良好。JQuery getJSON无法在MVC4项目中工作
我试图调用控制器方法来获得Json结果。我想在客户端输入用户名后显示名和姓。我使用getJson从控制器类中获取Json。它工作在mvc3项目中找到,但在我转移到MVC4 JQuery方法没有运行。
我的控制器:
public JsonResult PopulateDetails(EditUserModel model)
{
EditUserModel userResultModel = new EditUserModel();
userResultModel.LastName = "John";
userResultModel.FirstName = "Marry";
return Json(userResultModel, JsonRequestBehavior.AllowGet);
}
笔者认为:
<script type="text/javascript">
function PopulateData() {
var user = {};
user.UserName = $("#UserName").val();
$.getJSON("PopulateDetails", user, updateFields); // Call the Function from Controller
};
updateFields = function (data) {
$("#FirstName").val(data.FirstName);
$("#LastName").val(data.LastName);
};
<div class="editor-field">
@*@Html.EditorFor(model => model.UserName)*@
@Html.TextBoxFor(model => model.UserName, new { tabindex = "1", onblur = "javascript:PopulateData();" })
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
请让我知道什么是错在MVC4项目。
谢谢..
当您在项目中升级MVC版本时,是否更新了js库和页面引用? – 2013-03-14 04:29:07
尝试多一点调试,在chrome中检查网络选项卡或使用fiddler查看当用户输入用户名时是否实际进行请求。 – gdp 2013-03-14 05:17:56
我将所有脚本放入@section Scripts {}然后为我工作。 – 2013-04-22 06:45:53