我想重构以避免从视图解析FormCollection,所以我将其更改为在强类型对象中传递。我的表单元素与LinkUpdater对象上的属性名称相同。但是当我在控制器的第一个链接上放置一个断点时,所有的属性都是空的。将asp.net mvc表单元素绑定到复杂对象以发布到控制器
有什么想法或建议吗?
查看:
<%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)吗? – 2009-09-24 13:53:02