0

私のビューの 1 つに、次のようなドロップダウン リストがあります。

<div id="CurrentExchange" style="position:absolute; right:150px; top:250px;">
    <h3>Select an Exchange</h3>
    <select>
        <option value="Bicycle" selected>Bicycle Exchange</option>
        <option value="Tennis">Tennis Exchange</option>
    </select>
</div>

同じビューの他の場所に、次のようなアクション リンクがあります。

@Html.ActionLink("click here", "Index", "BicycleSellerListing")

私がやりたいこと、そして方法がわかりません(私はMVCとHTMLに非常に慣れていません)は、擬似コードで次のようなものです:

if CurrentExchange = "Bicycle"
    @Html.ActionLink("click here", "Index", "BicycleSellerListing")
else if CurrentExchange = "Tennis"
    @Html.ActionLink("click here", "Index", "TennisSellerListing")
else if ...
4

1 に答える 1

1

これを実現するには、おそらく Javascript を少し使用する必要があります。アクションを実行するリンクでは、次のようなものが必要になります。

<a href="javascript:void(0);" onclick="NavigatePage();">click here</a>

Javascript を使用して「ここをクリック」ボタンからクリック イベントを取得する方法はいくつかありますが、それは少し異なる議論です。

そこから、ページのどこかに、NavigatePage 関数を保持する Javascript を追加します。

<script type="text/javascript">
function NavigatePage() {
    var selectedValue = document.getElementById('CurrentExchange').value;
    if(selectedValue == "Bicycle")
        document.location = '@Url.Action("Index", "BicycleSellerListing")';
    else if(selectedValue == "Tennis")
        document.location = '@Url.Action("Index", "BicycleSellerListing")';
    else if // add as needed
}
</script>

document.location必要に応じて、UrlHelper を使用する代わりに値をハード コードすることもできます。ただし、将来的には UrlHelper を使用して柔軟に変更できるようになる可能性があります。

于 2013-03-02T20:05:09.837 に答える