【发布时间】: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