工作在用戶管理,有4頁:列表,創建,詳細和編輯。所有4頁顯示部分ListPartial。 這裏是Ajax的腳本我用加載ListPartial:JQuery的阿賈克斯不MVC3
<script type="text/javascript">
$(function() {
$('.leftContainer').load('ListPartial');
});
</script>
的列表和創建正確工作,但詳細和編輯沒有。我已經找到了通過使用url「User/Details?id = 1」而不是正常的「User/Details/1」使其工作的方法。我如何使它正常工作正常的網址?
編輯:
ListPartial.cshtml(凡直接鏈接到用戶詳細信息頁面和4次名單,創建,詳細和編輯使用Ajax加載它)
@model IEnumerable<ARS.Models.User>
<div class="leftToolbar">
@using (Html.BeginForm("Create", "User"))
{
<button name="button" class="btnAdd" value="Create"></button>
<input id="Text1" type="text" class="txtSearch" />
}
</div>
<div class="smallList">
<table>
<tr>
<th>
Email đăng nhập
</th>
<th>
Nhóm
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.ActionLink(Html.DisplayFor(modelItem => item.Email).ToString(), "Details", new { id=item.ID })
</td>
<td>
@Html.DisplayFor(modelItem => item.Group.Name)
</td>
</tr>
}
</table>
</div>
UserController/Details
public ViewResult Details(int id)
{
User user = db.Users.Find(id);
return View(user);
}
的Global.asax
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } // Parameter defaults
);
}
這似乎與你的路由問題。發佈您的路由規則 – Iridio 2012-07-21 06:35:34
這裏是:routes.MapRoute(「Default」,「{controller}/{action}/{id}」,新的{controller =「Account」,action =「LogOn」,id = UrlParameter。可選的 }); – 2012-07-21 06:42:13
因此,我一直在MVC3中使用jQuery AJAX,所以你在做什麼不同?另外,你是否熟悉Url Helper?您可能需要閱讀。 http://msdn.microsoft.com/en-us/library/system.web.mvc.urlhelper(v=vs.98).aspx – jcolebrand 2012-07-21 06:51:56