簡體   English   中英

將列表框的值提交給控制器

[英]Submit the values of a listbox to the controller

好的,我正在嘗試創建一個列表框,用戶可以在其中添加可變數量的值,然后在集合中提交這些值。

這是我的模型:

public sealed class TestModel
{
    public IList<string> MyStrings { get; set; } 
}

這是我的控制器:

public class TestController : Controller
{
    //
    // GET: /Test/
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult SubmitTest(TestModel testModel)
    {
        return Index();
    }
}

我的看法是:

@model WebApplication4.Models.TestModel

@{
    ViewBag.Title = "Test Page";
}
<br />
@using (Html.BeginForm("SubmitTest", "Test", FormMethod.Post))
{
    <input type="text" id="testTestbox" />
    <input id="testButton" type="button" value="Add" /><br />
    @Html.ListBoxFor(x => x.MyStrings, new List<SelectListItem>(), new { id = "testListbox", style = "width:100px;" })
    <input type="submit" value="Submit" />
}

@section Scripts{
    <script>
        $("#testButton").click(function () {
            var value = $("#testTestbox").val();
            $('<option value="' + value + '">' + value + '</option>').appendTo("#testListbox");
        });
    </script>
}

但是,當我提交時,MyStrings屬性始終為空。 我是在某個地方犯了一個錯誤,可以通過一點點修正來解決這個錯誤,還是我試圖做的只是不可能的?

謝謝

將值添加到列表框后,從列表框中選擇值,然后再將其提交給控制器。

我認為您是在提交表單時未從列表框中選擇值...

用這個..

 $("<option value='"+ value + "' selected='selected'>" + value +"</option>").appendTo("#testListbox"); 

selected ='selected'將選擇用戶輸入的選項並綁定到模型屬性“ MyStrings”

暫無
暫無

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

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