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