好的,所以,首先我是新來的asp.net mvc和ajax。我想要做的事情很簡單,asp.net mvc 4.0 ajax,重複的內容
我有一個表格,顯示登錄用戶可以參加的事件列表。列表中的每個元素都有一個ajax.BeginForm(),它指向一個將用戶連接到事件的操作。
當用戶連接到事件時,頁面應該更新,以便在頁面上正確顯示出席人數。
全部,這是正常工作。但是,更新頁面時發生的情況是,我的_Layout.cshtml頁面的全部內容都複製到了我在「UpdateTargetId」中指定要更新的'div id =「tableevent」'的副本中。
從視圖
<div id="tableevents">
<table class="table table-striped table-bordered table-condensed">
//I DISPLAY TABLE ITEMS HERE.
@using (Ajax.BeginForm("AddAttendantToEvent", "MadklubEvents", new AjaxOptions()
{
HttpMethod = "post",
UpdateTargetId = "tableevents"
}))
{
@Html.Hidden("EventID", item.MadklubEventID);
<input type="submit" value="Join!" id="join" class="btn" />
}
</table>
</div>
AddAttendantToEvent行動這可能是在哪裏出了問題..我以前只是發佈數據這一行動,通過正常的提交表單,沒有AJAX代碼段。我在這個行動中沒有改變任何事情。
[HttpPost]
[Authorize]
public ActionResult AddAttendantToEvent(int EventID)
{
if (ModelState.IsValid)
{
var uow = new RsvpUnitofWork();
var currentUser = WebSecurity.CurrentUserName;
var Event = uow.EventRepo.Find(EventID);
var user = uow.UserRepo.All.SingleOrDefault(u => u.Profile.UserName.Equals(currentUser));
user.Events.Add(Event);
Event.Attendants.Add(user);
uow.Save();
return RedirectToAction("Index");
}
{
return View();
}
}
指數被重定向到行動:這是視圖模型,包含數據,我的表被填充,是從什麼地方。
public ViewResult Index()
{
ViewModelTest viewmodel = new ViewModelTest();
viewmodel.events = madklubeventRepository.AllIncluding(madklubevent => madklubevent.Attendants).Take(10);
viewmodel.users = kitchenuserRepository.All;
return View(viewmodel);
}
爲什麼DIV得到複製,爲什麼是我的主要_layout網頁的全部內容,得到複製的標籤的副本里面?
請指點我正確的方向! :)