我的GNController视图代码
public ActionResult Index()
{
if (Session["pUser_Name"] == null)
{
return RedirectToAction("Login", "Login");
}
ViewBag.pUser_Name = Session["pUser_Name"].ToString();
DataSet ds_1 = Fill_Combo();
ADO_Net_MVC.Models.GN.GN clsObj = new Models.GN.GN();
clsObj.Branch_SName = GENERIC.ToSelectList(ds_1.Tables[0], "Branch_SName", "Branch_Code");
clsObj.Branch_FY = GENERIC.ToSelectList(ds_1.Tables[1], "FY", "FYDates");
Session["pLast_IPAddress"] = ds_1.Tables[3].Rows[0]["User_IP"].ToString();
clsObj.Branch_DeptD = GENERIC.ToSelectList(ds_1.Tables[4], "Dept_DD", "Dept_ID");
return View(clsObj);
}
视图绑定为
@model ADO_Net_MVC.Models.GN.GN
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div class="editor-field">
@Html.DropDownList("cmbLocation", Model.Branch_SName)
</div>
@* fill all drop down *@
<input value="Continue" id="cmd_continue" class="btnBG_Green" type="submit" tabindex="4" />
在发布请求时,模型是空的,我想要所有下拉选择值和文本字段
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(ADO_Net_MVC.Models.GN.GN model)
{
return View(model);
}
这是模型
public class GN
{
public SelectList Branch_SName { get; set; }
public SelectList Branch_DeptD { get; set; }
public SelectList Branch_AcdYear { get; set; }
public SelectList Branch_FY { get; set; }
}
任何人都可以告诉我为什么模型为空并且我想获得选择的feild值和文本如何?
答案 0 :(得分:1)
我只会在第一次下拉时显示。你适用于所有人。您需要在模型中添加一些属性。
public class GN
{
public SelectList Branch_SName { get; set; }
public string SelectedBranchName {get;set; }
}
在视图中
@Html.DropDownListFor(m => m.SelectedBranchName , Model.Branch_SName)
多数民众赞成!
答案 1 :(得分:0)
您的模型需要包含可以映射到表单中输入名称的属性。最简单的方法是使用辅助方法,如Html.DropDownListFor和Html.TextBoxFor。
对于您的选择,您需要模型上的属性,该属性将存储所选的值,例如
public string CmbLocation { get; set; }
然后在您的视图中,您可以使用:
@Html.DropDownListFor(m => m.CmbLocation, Model.Branch_SName)
现在,当您发布表单时,您应该看到绑定到模型的下拉列表的值。