ナビゲーションバー内に言語スイッチャーを構築しようとしています。
私のコードは次のとおりです(_LoginPartial.cshtml)
using ( Html.BeginForm( "SetCulture", "Home", FormMethod.Post ) ) {
@Html.AntiForgeryToken()
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
<img src="@selectedImgSrc" alt="@culture" />
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li role="presentation"><a href="#" class="language" rel="it-IT"><img src="~/assets/images/i18n/it-IT.png" alt="Italiano" /></a></li>
<li role="presentation"><a href="#" class="language" rel="en-US"><img src="~/assets/images/i18n/en-US.png" alt="English" /></a></li>
</ul>
</li>
</ul>
}
<ul class="nav navbar-nav navbar-right">
<li>@Html.ActionLink( "Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" } )</li>
<li>@Html.ActionLink( "Sign in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" } )</li>
</ul>
@selectedImgSrc値は~/assets/images/i18n/en-US.png
@culture valueはen-us
ただし、このコードは次の結果を生成します

これにはいくつかの問題があります:
- ナビゲーションでは、画像は表示されず、テキストのみが表示されます (en-US)
- ドロップダウンが大きすぎて気に入らない。小さくする方法はありますか?