asp.net-mvc-2 – Asp.Net MVC DropDownList数据绑定
发布时间:2020-05-23 19:57:58 所属栏目:asp.Net 来源:互联网
导读:form id=Form1 runat=server asp:DropDownList ID=dvmDrmList runat=server asp:ListItemTheory/asp:ListItem
<form id="Form1" runat="server">
<asp:DropDownList ID="dvmDrmList" runat="server">
<asp:ListItem>Theory</asp:ListItem>
<asp:ListItem>Appliance</asp:ListItem>
<asp:ListItem>Lab</asp:ListItem>
</asp:DropDownList>
</form>
我想在控制器中绑定此DropDownList.我的意思是如何在控制器类的action方法中获取dropDownList的值.谢谢. 解决方法我看到你使用的形式有runat =“server”和asp:XXX web控件.这些概念永远不应该在ASP.NET MVC中使用.这些服务器控件不再依赖于ViewState和PostBack.因此,在ASP.NET MVC中,您将首先定义表示数据的视图模型: public class ItemsViewModel
{
public string SelectedItemId { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
然后你将定义一个带有两个动作的控制器(一个呈现视图,另一个呈现表单提交): public class HomeController : Controller
{
public ActionResult Index()
{
var model = new ItemsViewModel
{
Items = new[]
{
new SelectListItem { Value = "Theory",Text = "Theory" },new SelectListItem { Value = "Appliance",Text = "Appliance" },new SelectListItem { Value = "Lab",Text = "Lab" }
}
};
return View(model);
}
[HttpPost]
public ActionResult Index(ItemsViewModel model)
{
// this action will be invoked when the form is submitted and
// model.SelectedItemId will contain the selected value
...
}
}
最后你会写出相应的强类型索引视图: <%@ Page
Language="C#"
MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<AppName.Models.ItemsViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) { %>
<%= Html.DropDownListFor(x => x.SelectedItemId,new SelectList(Model.Items,"Value","Text")) %>
<input type="submit" value="OK" />
<% } %>
</asp:Content>
这就是说你也可以在你的视图中硬编码这个选择(虽然这是我不推荐的): <% using (Html.BeginForm()) { %>
<select name="selectedItem">
<option value="Theory">Theory</option>
<option value="Appliance">Appliance</option>
<option value="Lab">Lab</option>
</select>
<input type="submit" value="OK" />
<% } %>
并拥有以下控制器: public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string selectedItem)
{
// this action will be invoked when the form is submitted and
// selectedItem will contain the selected value
...
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET 2.0或3.5?
- asp.net-mvc – Owin自主和ASP .Net MVC
- asp.net access web.config denied
- asp.net-mvc – 为什么Hangfire需要身份验证才能查看仪表板
- 实体框架 – 实体框架UnintentionalCodeFirstException
- 从ASP.NET应用程序使用Active Directory时,DirectoryServic
- 接收“路径”选项是禁止的.“ASP.NET网站中的异常
- 使用log4net和ASP.NET跟踪会话变量
- asp.net-mvc – 我应该每个请求使用一个HttpClient实例来处
- asp.net-mvc – 用于支持多种语言的ASP MVC技术
推荐文章
站长推荐
- asp.net – 如何将JsonResult对象作为字符串获取
- Block内的ASP.NET服务器端注释
- asp.net – WebForm_DoPostBackWithOptions没有使
- asp.net-mvc – MVC的HTTP缓存 – Last-Modified
- App_GlobalResources(ASP.NET)中的子文件夹
- 如何在asp.net MVC 3中获取当前的视图名称?
- asp.net mvc4 jquery不工作
- asp.net-ajax – UpdateProgress链接到多个Updat
- asp.net – How2:在HttpModule中挂钩的事件,用于
- asp.net-mvc – MVC和NOSQL:直接将视图模型保存
热点阅读
