我正在使用 Select 標記,我已經foreach將值添加到串列中,但我必須呼叫更新控制器并使用ActionLink. 我試圖這樣做,但它不起作用。我想知道我做錯了什么?
<form action="Update " method="get" class="select-menu">
<select id="sectionId"
name="sectionId"
class="selectpicker"
title="Section"
data-width="100%"
data-live-search="true"
onchange="this.form.submit()">
@foreach (var item in Model)
{
<option value="@item.Text" data-url="@Html.ActionLink(item.Text, "UpdateBoard", new { subSectionID = item.Value, subsectionName = item.Text })"></option>
}
</select>
</form>
查詢應該是這樣的http://localhost:60082/Update?subSectionID=27&subsectionName=Something
謝謝!
uj5u.com熱心網友回復:
在上述 in 方式中使用select標簽form將無法正常作業,因為路由 (和)form沒有附加引數。結果,action 方法將接收 和引數為.subSectionIDsubsectionNameUpdatesubSectionIDsubsectionNamenull
因此,要根據選擇動態設定這些引數,請嘗試以下操作:
<script type="text/javascript">
$('#sectionId').change(function () {
var url = $(this).val();
if (url != null && url != '') {
window.location.href = url;
}
})
</script>
<select id="sectionId"
name="sectionId"
class="selectpicker"
title="Section"
data-width="100%"
data-live-search="true">
@foreach (var item in Model)
{
<option value="@Url.Action("SetLanguage", new { subSectionID = item.Value, subsectionName = item.Text })">@item.Text</option>
}
</select>
在foreach使用Url.Action助手內部而不是Html.ActionLink. Url.Action幫助程式使用指定的操作名稱和路由值生成操作方法的完全限定 URL 。
但是會Html.ActionLink為指定的鏈接文本、動作回傳一個錨元素,當將其傳遞到服務器端時,這可能會導致其他問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/485641.html
