0

在我的一个观点中,我有一个下拉列表,如下所示:

<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 从“单击此处”按钮获取单击事件,但这是一个稍微不同的讨论。

从那里,在页面的某个地方,您将有一些 Javascript 将保存 NavigatePage 函数

<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 回答