2012-02-06 65 views
0

我環顧四周,但無法找到任何解決此問題(常見問題)的問題。Ajax.Beginform更新目標和局部視圖

我的問題是,整個網站刷新,而不是隻是div標籤。它工作過一次,但提前更新,不再...

AddMember.cshtml

@using DBSUSite.ViewModels 
@model CommitteeAddMemberModel 
<script src='@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")' type="text/javascript"></script> 
<h1> 
    Tilføj medlem</h1> 
<p> 
    Her kan du søge efter brugere og tilføje dem til bestyrelsen eller udvalget.</p> 
@using (Ajax.BeginForm("SearchMembers", new AjaxOptions { UpdateTargetId = "searchUsersList", HttpMethod = "POST" })) 
{ 
    @Html.HiddenFor(model => model.CommitteeId) 
    <label for="str"> 
     Søg efter: 
    </label> 
    <input id="str" name="str" value="" /> 
    <input type="submit" value="Søg" /> 
} 
<div id="searchUsersList"> 
    @{ Html.RenderPartial("_SearchUserPartial", Model); } 
</div> 

行動

[Authorize] 

    [HttpPost] 
    public ActionResult SearchMembers(int committeeId, string str) 
    { 
     //TODO: Put into User model! 
     var db = new DBEntities(); 
     // Removed lots of code. 
     var model = new CommitteeAddMemberModel { CommitteeId = committeeId, Users = users.Values.AsEnumerable() }; 

     return PartialView("_SearchUserPartial", model); 
    } 

管窺後

@using DBSUSite.Models 
@using DBSUSite.ViewModels 
@model CommitteeAddMemberModel 
<table> 
    <thead> 
     <tr> 
      <th> 
       Navn 
      </th> 
      <th>Tilføj</th> 
     </tr> 
    </thead> 
    <tbody> 
     @foreach (User user in Model.Users) 
     { 
      <tr> 
       <td> 
        @Html.DisplayFor(q => user.FirstName) @Html.DisplayFor(q => user.Surname) 
       </td> 
       <td> 
        @Html.ActionLink("Tilføj", "SaveMember", "Committee", new { committeeId = Model.CommitteeId, userId = user.UserID }, null) 
       </td> 
      </tr> 
     } 
    </tbody> 
</table> 

謝謝!

回答

1

你需要確保你包括所有這些庫:

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

不,沒有工作將它們添加:( – Pagaard 2012-02-07 16:48:35

+0

其實這是很奇怪的,我瑞普你的代碼,它的工作原理非常完美,請指定您使用的瀏覽器,並提供有關此問題的其他詳細信息。 – Kath 2012-02-07 18:20:28