我的代码遇到了一些麻烦。好的,所以我有一个ASPx网页。现在我有一个下拉框,由模型(通过控制器)的sql服务器填充。我添加了一个按钮和下拉列表,如下所示。
我无法将下拉列表中的选定值返回给控制器。任何帮助都会很棒
查看:
<% = Html.DropDownList("Books") %>
<input type = "submit" value = "Update"/>
<h1> <%=TempData["BookName"]%> </h1>
控制器:
public ActionResult Index(string bookName)
{
ViewData["BookName"] = new SelectList(_context.BookName.Select(a =>a.Book_Name).Distinct());
if (!string.IsNullOrWhiteSpace(bookName))
{
ViewData["Books"] = _context.BookName.Where(b => b.Book_Name == bookName).ToList();
UpdateBookNameTitle(bookName);
}
return View();
}
public ActionResult UpdateBookNameTitle(string bookName)
{
TempData["BookName"] = bookName;
return View("Home2");
}
答案 0 :(得分:2)
您需要将下拉列表和按钮包装到表单中(在视图中)。同时将下拉列表的名称更改为“bookName”,因此MVC可以将所选值映射到bookName
操作参数:
<% using(Html.BeginForm("Index", "Home")) { %>
<%= Html.DropDownList("bookName") %>
<input type="submit" value="Update"/>
<% } %>
如果没有HTML表单,您的提交按钮将不会向服务器发出POST请求。