我试图找出为什么系统在visual studio中给我这个错误“,我填充数据库的下拉列表并且它在运行时有值,但是当我点击提交按钮时我得到了上面的错误,想知道是什么我在这里做错了。 这是我的代码//这是模型
public class LeaveRequest
{
public string TableTypecode { get; set; };
public string TableTypeName { get; set; };
[Display(Name = "Selected TypeCode")]
public int SelectedTableTypeCode { get; set; }
public IEnumerable<SelectListItem> LoadedTableTypeName { get; set; }
}
以下是从sqlserver获取数据的方法..效果很好。
public class OpenTypeList
{
public List<LeaveRequest> OpenList()
{
string hasconnections =
ConfigurationManager.ConnectionStrings["leaveConnections"]
.ConnectionString;
List<LeaveRequest> P2 = new List<LeaveRequest>();
using (SqlConnection con = new SqlConnection(hasconnections))
using (SqlCommand cmd = new SqlCommand("ViewTypes", con))
{
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ListName", "status");
con.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
LeaveRequest pom = new LeaveRequest();
pom.TableTypecode = Convert.ToString(dr.GetValue(0));
pom.TableTypeName = dr.GetString(1);
P2.Add(pom);
}
}
return P2;
}
}
}
所以我在这里填充我的控制器列表
[HttpGet]
public ActionResult LeaveRequestIndex(LeaveRequest pleave)
{
var modal = new LeaveRequest()
{
UserRoles = GetRoles(),
LoadedTableTypeName = GetTypesIdz()
};
return View(modal);
}
最后,下面是我的剃刀代码......在视图中
<div class="form-group">
@Html.LabelFor(model => model.RequestStatus)
@Html.DropDownListFor(model => model.SelectedTableTypeCode,
Model.LoadedTableTypeName, new { @class = "form-control" })
</div>
单击提交按钮时会生成此错误 我的帖子方法就在这里......
[HttpPost]
public ActionResult LeaveRequestIndex(FormCollection fmcollection)
{
foreach (string key in fmcollection.AllKeys)
{
Response.Write("Key= " + key + " ");
Response.Write(fmcollection[key]);
Response.Write("<br/>");
}
return View();
}
答案 0 :(得分:1)
您还需要在post方法中绑定模型。因此,请更新您的帖子方法,如下所示。
N