[英]Pass drop down list's selected value as a query string in an ActionLink in an MVC view
我的視圖中有一個簡單的下拉列表:
@Html.DropDownList("ddlAppIds", new SelectList(ViewBag.AppIds))
在它下面,我有一個ActionLink
。 我想將上面下拉列表的選定值作為查詢字符串參數發送到此ActionLink
:
@Html.ActionLink("Next", "Index", new { id = selectedAppId })
selectedAppId
僅用於我希望實現的目標。 如何在我的視圖中將下拉列表的選定值作為查詢字符串參數傳遞?
除非您恰好在頁面加載時已經選擇了值,否則MVC無法知道用戶在沒有回發的情況下進行選擇。 一旦頁面被發送到客戶端,MVC就會完成,直到下一個請求:您的Razor視圖已經呈現,並且如果沒有您通過JavaScript手動執行,則不會對DOM中的任何內容進行任何更改。
如果要根據所選值更改鏈接,則需要編寫JavaScript才能實現。 由於你正在使用MVC,我將假設jQuery支持,因為它默認包含在內:
$(document).ready(function () {
$('#ddlAppIds').on('change', function () {
var selectedValue = $(this).val();
$('#IdForYourLink').prop('href', '/url/to/next/' + selectedValue);
});
});
您需要自己找出替換所選值的最佳方法。 您可能更喜歡在當前鏈接上執行某種正則表達式,僅包含部分鏈接作為開頭的href,等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.