asp.net MVC 提交表单时 读取不到 DropDownList中的数据
小弟我初次接触MVC,准备做一个查询,由于涉及到数据库中的几个表,我就自己写了一个ViewModel。ViewModel中定义了一个SelectList绑定了数据库中的一个表,它的值作为查询条件之一:IEnumerable<DocCategory> newsTypeList = dc.FindAllDocCategory().ToList();
SelectList docCategoryList = new SelectList(newsTypeList, "DocCategoryId", "DocCategoryName", docCategoryID);
View中的写法是这样的:
<% using (Html.BeginForm())
{%>
<%=Html.DropDownListFor(model => model.DocCategoryID, Model.docCategoryList,"--请选择--")%>
<%:Html.TextBoxFor(model => model.KeyWord, new { style = @"width:100px;" })%>
<%} %>
但是我在页面中提交查询表单时,读取不到DropDownListFor中选中的值,TextBoxFor中的值却能读取到,这是为什么呢? --------------------编程问答-------------------- 你是怎么获取的呢 --------------------编程问答-------------------- 我是提交表单之后写了一个[HttpPost]的controller
[HttpPost]
public ActionResult EditAll(DocEidtModel docEditModel)
{
return RedirectToAction("EditAll", new { keyWord=docEditModel.KeyWord,docCategoryID=docEditModel.DocCategoryID,page = 0});
}
其中传入的DocEidtModel 就是我自己写的ViewModel,也是View页中绑定的Model。DocCategoryID保存的是我 DropDownListFor选中内容的值,但是它总是为0 --------------------编程问答-------------------- --------------------编程问答-------------------- 可以用ViewBag方法获取:
前台:
@Html.DropDownList("StoreID", ViewBag.MerchantSelector as SelectList, new { @class = "input_2thr" })
控制器:
List<View_StoreInfo> BelongStroreList = SysService.GetStoreInfoAll(UserSessionManage.Cache.UserInfo.StoreID.Value).Where(o => o.StoreSys != true).ToList();
ViewBag.MerchantSelector = new SelectList(BelongStroreList, "StoreID", "StoreCode");
希望能帮到你
补充:.NET技术 , ASP.NET