リンクの生成を支援するために、次のヘルパーを使用しています。
@helper BuildLink(string name, string action, string controller)
{
var url = Url.Action(action, controller);
bool isActive = Request.Url.AbsolutePath.Equals(url, StringComparison.InvariantCultureIgnoreCase);
<li class="@(isActive ? "current" : String.Empty)"><a href="@(url)">@name</a></li>
}
それは素晴らしい働きをします。問題は、ドキュメントの別の場所で「li」タグを閉じる必要があることです。ヘルパーの「closeingli」の部分を削除すると、ビューを表示しようとするとエラーメッセージが表示されます。
パーサーエラーメッセージ:ヘルパーブロックに終了"}"文字がありません。このブロック内のすべての「{」文字に一致する「}」文字があり、「}」文字がマークアップとして解釈されていないことを確認してください。
この終了「li」タグを含める必要がある回避策はありますか?