当前位置:编程学习 > C#/ASP.NET >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,