我正在研究ASP.NET MVC3应用程序.
[HttpPost]当用户在表单上输入信息时,我正在尝试使用它来检索信息.
基于"默认"空白ASP.Net项目的登录脚本,我有以下内容:
在我的控制器中:
public ActionResult Ticket(int id)
{
Models.Ticket model = new Models.Ticket(id);
return View("Ticket", model);
}
[HttpPost]
public ActionResult Ticket(int id, MMCR.Models.Ticket model)
{
if (id != model.TicketNo)
{
return View("Error");
}
return View("Ticket", model);
}
Run Code Online (Sandbox Code Playgroud)
在视图中我有:
@using (Html.BeginForm()) {
<div>
<fieldset>
<legend>View Ticket Details</legend>
<div class="editor-label">
@Html.LabelFor(m=>m.Status)
</div>
<div class="editor-field">
@Html.DropDownListFor(m=>m.Status, Model.Status)
</div>
<p>
<input type="submit" value="Update" />
</p>
</fieldset>
</div>
}
Run Code Online (Sandbox Code Playgroud)
(显然是在剔除重复的东西).
但是,当我点击按钮时出现错误:
异常详细信息:System.MissingMethodException:没有为此对象定义的无参数构造函数.
谁能就如何解决这个问题提出一些建议?
Jef*_*ver 17
你的类MMCR.Models.Ticket需要一个无参数的构造函数.
当您通过Post方法传递此类型的对象时,MVC将使用无参数构造函数创建该类的实例.然后,它会将表单字段映射到该对象.
| 归档时间: |
|
| 查看次数: |
8864 次 |
| 最近记录: |