2013-03-02 27 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

相關問題