40

querystring のように読み取る代わりに、ビュー ページでルート値を取得する代替手段はありますか?

@Html.ActionLink("Language Resources", "Index", "LanguageResource", 
                 new { languageCode = Request.QueryString["languageCode"] , "")
4

4 に答える 4

25

RequestContext を使用できます

@{
var id = HttpContext.Current.Request.RequestContext.RouteData.Values["id"];
}
于 2013-07-17T12:02:38.663 に答える
11

シンプルに保つことを除外しないでください。

public ActionResult Action(int id)
{
    return View( id);
}

扱っているモデルのタイプを示します

@model int 

そして、次の方法で強く型付けされた方法で値を参照します。

@Model
于 2016-01-23T22:33:05.317 に答える
8

また、経験の浅い方は、コントローラーと URL のアクション部分にもアクセスできます。(カミソリの例)

if(ViewContext.RouteData.Values["action"].ToString() == "Account")
{
    @Html.Raw("Hi ") @Session["UserName"]
}

どこ、

context.MapRoute(
            name: "MyRoute",
            url: "{controller}/{action}/{id}"
}
于 2016-06-28T18:28:28.283 に答える