2013-03-02 50 views
0

在我的意见我有一个下拉列表如下操作链接:MVC 4 - 执行根据选择的下拉值的内容

<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 ... 
+0

您是否在寻找Javascript /客户端解决方案?或者你想要一个服务器端解决方案? – 2013-03-02 19:53:00

+0

@vondruska - 我认为它需要客户端。 – 2013-03-02 19:55:40

+0

因为SELECT是您试图评估该SELECT对象必须具有ID的OBJECT !.虽然它有一个ID,但在IF语句中没有用处(如果您有if语句) – Zeddy 2013-03-02 20:04:23

回答

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。

+0

似乎完美地工作。谢谢。 – 2013-03-02 20:31:39

相关问题