JQuery Ajax在MVC3中不起作用

时间:2012-07-21 06:31:59

标签: jquery ajax asp.net-mvc-3

在用户管理中,有4个页面:列表创建详细信息修改。所有4个页面都呈现部分 ListPartial 。 这是我用来加载ListPartial的Ajax脚本:

<script type="text/javascript">
    $(function () {
        $('.leftContainer').load('ListPartial');
    });
</script>

列表创建正常工作,但详细信息编辑则不能。我已经找到了通过使用网址“用户/详细信息?id = 1 ”而不是正常的“用户/详细信息/ 1 ”来使其工作的方法。如何使用普通网址正常工作?

编辑:

ListPartial.cshtml(链接指向用户详细信息页面和4个视图列表创建详细信息编辑< / strong>使用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中/细节

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
    );
}

1 个答案:

答案 0 :(得分:0)

在控制器

// GET: /User/Edit/5
public ActionResult Edit(int id)
        {
           //code..
        }

// GET: /User/Details/5
public ViewResult Details(int id)
        {
           //code..
        }

在cshtml页面

@Html.ActionLink("Edit", "Edit", new { id=item.UserId}) |
@Html.ActionLink("Details", "Details", new { id = item.UserId })