1

ユーザー管理には、ListCreateDetailsEditの 4 つのページがあります。4 ページすべてが部​​分的なListPartialをレンダリングします。ListPartial をロードするために使用する Ajax スクリプトを次に示します。

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

ListCreateは正しく機能しますが、DetailsEditは機能しません。そして、通常の「User/Details/1 」の代わりに「 User/Details?id=1 」という URL を使用して、それを機能させる方法を見つけました。通常の URL で正しく動作させるにはどうすればよいですか?

編集:

ListPartial.cshtml (ユーザーの詳細ページへのリンクと、 ListCreateDetails、およびEditの 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>

ユーザーコントローラー/詳細

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

1 に答える 1

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 })
于 2012-07-21T06:56:27.020 に答える