1

これは、トップレベルのリンクへのリンクを作成するために使用している私のコードです:

@Html.ActionLink("Edit",Url.Action("Edit","Home", new{row.Application_ID})) 
// supposed to return /Home/Edit/x (application_id)

/Home/Home / Edit /x // 現在のビューは Home/Edit です。

助けてください。

編集 1: ルート テーブル情報:

//This is for Edit 
routes.MapRoute(
           "Edit", // Route name
           "Home/Edit/{application_id}", // URL with parameters
           new { controller = "Home", action = "Edit", application_id = UrlParameter.Optional } // Parameter defaults
        );

        // This is the default route, I've modified it to LogOn.
        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } // Parameter defaults
        );
4

3 に答える 3

0

inner は必要ありません@Url.Action。代わりにこれを試してください。

@Html.ActionLink("Edit", "Edit", "Home", new { application_id  = row.Application_ID }, null);
于 2013-10-03T09:04:59.123 に答える
0

haim770の回答への小さな版として。何らかの理由でUrl.Action代わりに使用したいHtml.ActionLink場合は、いつでも自由に次のように記述できます。

<a href="@Url.Action("Edit", "Home", new { application_id  = row.Application_ID })">Edit</a>

一部の開発者は、プレーンな Html に似ているためこの方法を好みますが、結果は Html.ActionLink と同じです。

于 2013-10-03T09:52:35.647 に答える