【发布时间】:2009-09-24 13:48:28
【问题描述】:
我正在尝试重构以避免从视图中解析 FormCollection,因此我将其更改为传入强类型对象。我的表单元素与 LinkUpdater 对象上的属性名称相同。但是当我在控制器的第一个链接上放置断点时,所有属性都为空。
有什么想法或建议吗?
查看:
<%using (Ajax.BeginForm("AddNewLink", "Links", new AjaxOptions { UpdateTargetId = "LinkList", LoadingElementId = "updating", OnSuccess = "done" }))
{ %>
<fieldset style="text-align:left">
<table>
<tr><td>Url:</td><td> <input style="width:500px" type="text" name="URL" /></td></tr>
<tr><td>Description: </td><td><input style="width:400px" type="text" name="Description" /></td></tr>
<tr><td>Tags: </td><td><input style="width:400px" id="Tags" name="tags" type="text" /></td></tr>
<tr><td><input type="submit" value="Add Link" name="submit" /></td></tr>
</table>
</fieldset>
<% } %>
控制器职位:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddNewLink(LinkUpdater linkUpdater_)
{
string[] tags = linkUpdater_.Tags.Replace(" ", "").Split(',');
linkRepository.AddLink(linkUpdater_.URL, linkUpdater_.Description, tags);
.....
}
LinkUpdater 类:
public class LinkUpdater
{
public string URL;
public string Description;
public string Tags;
}
【问题讨论】:
-
你能显示原始 POST(来自 Fiddler)吗?
标签: asp.net-mvc binding