URLがあなたのウェブサイトの一部ではない場合、このリンクを生成するためにHTMLヘルパーを使用しても大した価値はありません。代わりに、単にそのまま書いてください。そして、それはあなたのサイトの一部であり、あなたがアドレスに到達するためのルーティングを使用することができれば、あなたがHTMLがデフォルトでリンクテキストをコードしないカスタムHTMLヘルパー書くことができます:
public static class HtmlExtensions
{
public static MvcHtmlString MyActonLink(
this HtmlHelper html,
string linkText,
string action,
string controller,
object routeValues,
object htmlAttributes
)
{
var urlHelper = new UrlHelper(html.ViewContext.RequestContext);
var url = urlHelper.Action(action, controller, routeValues);
var anchor = new TagBuilder("a");
anchor.InnerHtml = linkText;
anchor.Attributes["href"] = url;
anchor.MergeAttributes(new RouteValueDictionary(htmlAttributes));
return MvcHtmlString.Create(anchor.ToString());
}
}
とあなたのビューで:
を
@Html.MyActonLink(
"Stack<br/>Overflow", // linkText
"MyAction", // actionName
"MyController", // controllerName
new { id = "123" }, // routeValues
new { @class = "foo" } // htmlAttributes
)
これは本当にうまくいきました。ありがとうございました – MikeJ