【问题标题】:Get the value of dropdown and textbox value in asp.net MVC获取asp.net MVC中下拉列表和文本框值的值
【发布时间】:2021-09-18 04:05:30
【问题描述】:

请帮助我。我需要获取文本框的值和下拉列表的值。

到目前为止,我能够使用此代码获取下拉列表的值

public class DropdownOrder
    {
        public int Id { get; set; }
        public string Value { get; set; }
    }

public class DropdownOrderVM
    {
        public int DropdownId { get; set; }
        public string SearchValue { get; set; }
        public List<DropdownOrder> DropdownList { get; set; }
    }

public async Task<ActionResult> Index()
        {
            var vm = new DropdownOrderVM();
            vm.DropdownList = new List<DropdownOrder>
            {
                new DropdownOrder { Id = 1, Value = "1" },
                new DropdownOrder { Id = 2, Value = "2" },
                new DropdownOrder { Id = 3, Value = "3" }
            };


            return View(vm);
        }

这是查看代码

            <select class="form-control" asp-for="DropdownId"
                    asp-items="@(new SelectList(Model.DropdownList,"Id","Value"))">
                <option>Please select one</option>
            </select>
           
       
                <input type="search" name="search" id="search"  asp-for="SearchValue"  placeholder="Search" class="form-control" aria-label="Search">
                
          

这是我的控制器,当点击按钮提交时调用它

[HttpPost]
        public ActionResult Create(DropdownOrderVM model)
        {
            return View();
        }

我只能获取下拉列表的值。但是我在视图中添加了代码

<input type="search" name="search" id="search"  asp-for="SearchValue" >

那么为什么我的代码没有返回文本框中的用户输入?

我做错了什么?

【问题讨论】:

  • 你能发布你的整个视图吗,包括模型部分
  • 可以删除代码name="search",也可以改成name=SearchValue,就可以了。

标签: c# asp.net-mvc asp.net-core asp.net-web-api


【解决方案1】:

您明确为与模型字段不匹配的文本框提供名称和 ID。从您的搜索文本框中删除这 3 个属性:type="search" name="search" id="search"。标签助手 asp-for 会为您完成这项工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多