C# 如何更改“选择”上的下拉列表
我有一个由sql server填充的dropdownlist,我正在使用VisualStudio2010、cshtml和razor,以及使用MVC模式来创建这个项目。我想做的是,当有人从下拉列表中选择一个值进行更改时,它会用有关该书的信息更新页面 我需要以下三方面的帮助:C# 如何更改“选择”上的下拉列表,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我有一个由sql server填充的dropdownlist,我正在使用VisualStudio2010、cshtml和razor,以及使用MVC模式来创建这个项目。我想做的是,当有人从下拉列表中选择一个值进行更改时,它会用有关该书的信息更新页面 我需要以下三方面的帮助: 用户从下拉列表中选择一本书,如何将书名返回控制器 服务器(从服务器检索有关书籍的信息)和 返回要显示的视图 我从让下拉菜单流行起来开始 我的看法是这样的 BookName: @Html.DropDownList("BookNa
BookName: @Html.DropDownList("BookName", ViewData["BookName"] as IEnumerable<SelectListItem>, new { id = "UserSelectedValue" })
下拉列表不能使页面自行发回控制器。您需要做以下两件事之一:
<form>
BookName: @Html.DropDownList("BookName", ViewData["BookName"] as IEnumerable<SelectListItem>, new { id = "UserSelectedValue" })
<input type="submit" value="Show results" />
</form>
谢谢你的帮助。这是有道理的,我倾向于jquery。所以有可能没有按钮和jquery脚本来运行对下拉列表的更改。
<form>
BookName: @Html.DropDownList("BookName", ViewData["BookName"] as IEnumerable<SelectListItem>, new { id = "UserSelectedValue" })
<input type="submit" value="Show results" />
</form>
<script type="text/javascript">
// assuming you're using jQuery
$(function() {
$('#UserSelectedValue').change(function() {
$(this).parent('form').submit();
});
});
</script>
<form>
BookName: @Html.DropDownList("BookName", ViewData["BookName"] as IEnumerable<SelectListItem>, new { id = "UserSelectedValue" })
<input type="submit" value="Show results" />
</form>
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();
}
return View();
}