2012-07-19 66 views
0

我試圖提交我的表單與一個按鈕,一切正常(控制器是調用和POST工作正常)。然後我在它旁邊添加一個複選框,當它點擊它時,它會返回一個僅包含複選框的空白頁面。 即時通訊使用:
Index.cshtml:MVC3 Ajax - 提交複選框形式返回一個空白頁與複選框

<td id="ProjectFieldset"> 
    @Html.Partial("_ProjectSelect") 
</td> 

_ProjectSelect.cshtml:

@using (Ajax.BeginForm("test", "Project", new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "ProjectFieldset" })) 
     { 
     <td> 
      @Html.CheckBox("ckboxItem", true , new {onchange="this.form.submit();"}) 
      <input type="submit" value="allo" id="allo" /> 
     </td> 
     } 

控制器:

<script src="@Url.Content("~/Scripts/jquery-1.4.4.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusiveajax.js")"type="text/javascript"></script> 

的我的意見(使用局部視圖IM)部分

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult test(bool ckboxItem) 
    { 
     ViewData["projects"] = db.Projects; 
     return PartialView("_ProjectSelect"); 
    } 

這只是我的代碼的一部分。沒有HTML錯誤。 因此,複選框和按鈕顯示效果良好,按下按鈕時,一切正常。當我點擊複選框時,它會進入控制器,但在此之後,它會顯示一個空白頁面。這裏有任何幫助? THKS。

回答

1

替換:

<script src="@Url.Content("~/Scripts/jquery.unobtrusiveajax.js")"type="text/javascript"></script> 

有:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")"type="text/javascript"></script> 

請注意,您在jquery.unobtrusive-ajax.js腳本名稱有錯字。

另外jquery 1.4.4現在有點老了。我會建議你使用更新的版本。

+0

嗨,對不起,錯字不在我的代碼中,它發生在我寫這個時。你會建議我什麼版本的jQuery?順便說一句,我已經用一個單選按鈕取代了複選框,它也做了同樣的事情。看起來這個按鈕是唯一能正常工作的按鈕。 – alex 2012-07-19 19:25:56