2012-04-13 65 views
2

中我嘗試使用你如何重定向到一個錨特定操作

return RedirectToAction("List#"+Name.Substring(0,1)); 

但我得到一個404錯誤,並在地址欄中提示,我要找名單%23A。

編輯 「List」是動作名稱,我想直接重定向到第一個字母定位符。

如何傳遞數字符號?

+0

你確實有一個動作命名爲 「列表#的東西」? – 2012-04-13 19:58:49

+0

他可能會嘗試移動到錨點... – Servy 2012-04-13 19:59:35

+1

我意識到這一點,但該方法需要一個操作名稱,而不是一個操作名稱和任意額外的數據添加到URL。 – 2012-04-13 20:00:20

回答

1

你可以使用GenerateUrl靜態方法:

public ActionResult Foo() 
{ 
    string url = UrlHelper.GenerateUrl(
     null,      // routeName 
     "List",     // actionName 
     null,      // controllerName 
     null,      // protocol 
     null,      // hostName 
     "abc",     // fragment <- that's what you are interested in 
     null,      // routeValues 
     RouteTable.Routes,  // routeCollection 
     Request.RequestContext, // requestContext 
     true      // includeImplicitMvcValues 
    ); 
    return Redirect(url); 
} 

應該重定向到:

/currentController/List#abc