获取asp.net MVC中下拉列表和文本框值的值
Posted
技术标签:
【中文标题】获取asp.net MVC中下拉列表和文本框值的值【英文标题】:Get the value of dropdown and textbox value in 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
,就可以了。
【参考方案1】:
您明确为与模型字段不匹配的文本框提供名称和 ID。从您的搜索文本框中删除这 3 个属性:type="search" name="search" id="search"。标签助手 asp-for 会为您完成这项工作。
【讨论】:
以上是关于获取asp.net MVC中下拉列表和文本框值的值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net 代码中获取引导文本框值并在存储过程中作为参数发送?
根据上一个列表中选择的值填充下拉列表(asp.net mvc3)
asp.net mvc c# - 是不是可以从 CodeBehind 中的模型访问视图中文本框的值?