MVC 3.net URLにアンカーを追加したい。URLにアンカータグを追加するにはどうすればよいですか?
アンカークエリ文字列を含めるようにしましたが、ハッシュ '#'が%23などのURLに変更されました。
これを回避する方法はありますか?
MVC 3.net URLにアンカーを追加したい。URLにアンカータグを追加するにはどうすればよいですか?
アンカークエリ文字列を含めるようにしましたが、ハッシュ '#'が%23などのURLに変更されました。
これを回避する方法はありますか?
あなたがフラグメントを指定することができますActionLinkヘルパーのオーバーロードがあります:
@Html.ActionLink(
"Link Text", // linkText
"Action", // actionName
"Controller", // controllerName
null, // protocol
null, // hostName
"fragment", // fragment
new { id = "123" }, // routeValues
null // htmlAttributes
)
は(デフォルトルートを想定)を生成します:
<a href="/Controller/Action/123#fragment">Link Text</a>
UPDATE:
は、とし、リダイレクトを実行するコントローラアクション内でこれを実行する場合は、 GenerateUrlメソッドを使用します。
public ActionResult Index()
{
var url = UrlHelper.GenerateUrl(
null,
"Action",
"Controller",
null,
null,
"fragment",
new RouteValueDictionary(new { id = "123" }),
Url.RouteCollection,
Url.RequestContext,
false
);
return Redirect(url);
}
ニース、それについて知りませんでした。ありがとう! –
ダーリンに感謝します。この場合、私はコントローラからのURLを生成するアクションへのリダイレクトを使用しています、そしてそれはフラグメントを含まない6つの過負荷しか持っていません。これに対する解決策はありますか? – DevDave
この場合、コントローラ内で[UrlHelper.GenerateUrl](http://msdn.microsoft.com/en-us/library/ee703653.aspx)メソッドを使用すると、フラグメントを指定してから、結果のURL。私は例を提供するために自分の投稿を更新しました。 –
http://stackoverflow.com/questions/10690466/redirect-to-a-hash-from-the-controller-using-redirecttoaction – hidden