簡體   English   中英

如何將多個選項的值從選擇列表發布到 MVC 控制器?

[英]How can I post multiple option's values from a select list to a MVC controller?

我有一個如下所示的選擇列表,我需要將選擇列表中的每個選項的值發布到控制器。 是否有可能以某種方式獲得這些值?

選擇列表

<select size="10" id="SelectedSortOrderOptions" name="SelectedSortOrderOptions">
    <option value="Parcel Number">Parcel Number</option>
    <option value="Receipt Number">Receipt Number</option>
    <option value="Municipality">Municipality</option>
</select>

我可以在我的控制器中做類似的事情嗎?

public IActionResult Submit(List<string> SelectedSortOrderOptions)
{
   ...
}

我需要獲取包含值Parcel NumberReceipt NumberMunicipality的新字符串列表。

我可以在我的控制器中做類似的事情嗎?

是的,你可以這樣做。 如果要定義一個多選項的選擇列表,在視圖中,需要在<select>標簽中添加multiple屬性:

<form method="post" action="/home/submit">
    <select name="SelectedSortOrderOptions" multiple>
        <option value="Parcel Number">Parcel Number</option>
        <option value="Receipt Number">Receipt Number</option>
        <option value="Municipality">Municipality</option>
    </select>
    <button type="submit">Submit</button>
</form>

在控制器中:

[HttpPost]
public IActionResult Submit(List<string> SelectedSortOrderOptions)
{
    return View();
}

您可以在選擇多個選項時按住 Windows 上的Ctrl鍵(或 Mac 上的命令鍵)。

1

您可以使用jquery獲取所有選項並通過ajax將它們傳遞給控制器​​:

<script>
        $('#SelectedSortOrderOptions').change(function (e) {
            var optionsVal =[];
            $("#SelectedSortOrderOptions option").each(function () {
                optionsVal.push($(this).val());
            });
            $.ajax({
                type: 'POST',
                url: '/Home/submit',
                traditional: true,
                dataType: "json",
                data: { SelectedSortOrderOptions: optionsVal },
                success: function () {

                },
            });
        });
    </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM