2013-03-14 28 views
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項目。

謝謝..

+0

當您在項目中升級MVC版本時,是否更新了js庫和頁面引用? – 2013-03-14 04:29:07

+0

嘗試多一點調試,在chrome中檢查網絡選項卡或使用fiddler查看當用戶輸入用戶名時是否實際進行請求。 – gdp 2013-03-14 05:17:56

+0

我將所有腳本放入@section Scripts {}然後爲我工作。 – 2013-04-22 06:45:53

回答

0

我把我所有的腳本到

@section Scripts { 

      <script type="text/JavaScript"> { // My Function } } 

然後爲我工作。