asp.net-mvc – ViewModel中的ASP.NET MVC SelectList
发布时间:2020-05-30 07:42:18 所属栏目:asp.Net 来源:互联网
导读:我在ASP.NET MVC 5中工作(但这很可能也适用于以前的版本).问这个问题的最好方法是向您展示代码: 这是视图模型: public class PersonCreateViewModel{ public SelectList cities {get; set;} public String Name { get; set; } public String Addre
|
我在ASP.NET MVC 5中工作(但这很可能也适用于以前的版本).问这个问题的最好方法是向您展示代码: 这是视图模型: public class PersonCreateViewModel
{
public SelectList cities {get; set;}
public String Name { get; set; }
public String Address { get; set; }
}
这是控制器的http Post方法: [HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(PersonCreateViewModel viewmodel)
{
if (ModelState.IsValid)
{
//Add to database here and return
}
//return back to view if invalid db save
return View(person);
}
这是视图: <div class="form-group">
@Html.LabelFor(model => model.person.name,new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.person.name)
@Html.ValidationMessageFor(model => model.person.name)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.person.address,new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.person.address)
@Html.ValidationMessageFor(model => model.person.address)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.person.CityID,"CityID",new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("cities")
@Html.ValidationMessageFor(model => model.person.CityID)
</div>
</div>
当用户单击“提交”时,浏览器中会显示以下错误消息: 我认为这与我在ViewModel中有一个SelectList的事实有关.我认为当视图在表单提交时将模型传递回控制器时,它会调用SelectList的构造函数,但是没有SelectList的无参数构造函数.我不知道该怎么办.任何帮助表示赞赏!! 解决方法我总是使用IEnumerable获得更好的运气public class PersonCreateViewModel
{
public IEnumerable<SelectListItem> cities {get; set;}
public int CityId { get; set; }
public String Name { get; set; }
public String Address { get; set; }
}
此外,您将需要视图模型上的属性来捕获选定的值,如CityId. 然后你可以使用: Html.DropDownListFor(m => m.CityId,Model.cities) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC DropDownListFor不支持SelectL
- asp.net – ASP MVC – 默认的HTTP标头有任何常量吗?
- asp.net – 在PreRender上添加控件页面
- asp.net – Windows Azure我可以在同一个额外的小实例或小实
- 在ASP.NET中使用新的会话ID打开一个新的浏览器窗口
- asp.net – 从数据库加载时,DateTime.Kind设置为未指定,而不
- asp.net-mvc-3 – .Net Mvc 3触发器(提交按钮除外)不显眼的
- .net – Razor RTM中的声明性助手方法
- asp.net-mvc – 更改kendo数字过滤器格式
- asp.net – Chrome在成功的文件下载(200状态)上显示“已取消
推荐文章
站长推荐
热点阅读
