私はMVC 5アプリケーションを持っています。Html拡張メソッドでルートサイト対応のアンカータグリンクを作成します
私は、ルートプロジェクトの下のヘルプフォルダにあるヘルプページ用の静的なhtmlファイルを追加しています。
アンカータグを作成するためのHTMLヘルパー拡張を作成しました。
public static MvcHtmlString TestHelpLink(this System.Web.Mvc.HtmlHelper htmlHelper, string helpTopic)
{
var sb = new StringBuilder();
sb.Append("<a target='_blank' href='~/help/" + helpTopic + ".html'>");
sb.Append("<i class='glyphicon glyphicon-question-sign'></i>");
sb.Append("</a>");
return new MvcHtmlString(sb.ToString());
}
問題は、運用環境のIISにアプリケーションを展開するときに発生します。
私はその特定の問題を解決すると考えていた〜形式を使用していても、ルートURLは無視されています。
拡張メソッドの結果文字列をコピーして、ビューのHTMLに直接貼り付けると、ローカルバージョンとデプロイされたバージョンが正しく動作します。
私の拡張メソッドで何か別のことをしなければならないことはありますか?上記の出力文字列から
<a target='_blank' href='~/help/[help topic].html'><i class='glyphicon glyphicon-question-sign'>Link Text</i></a>
、我々はMvcHtmlString
が自動的にないと結論付けることができます:
完全に動作します。ありがとうございました。 – Neill