在asp.net mvc中提交表单的最佳做法是什么?我一直在做这样的代码,但我觉得有更好的方法.建议?
[AcceptVerbs(HttpVerbs.Post)] public ActionResult AddNewLink(FormCollection collection_) { string url = collection_["url"].ToString(); string description = collection_["description"].ToString(); string tagsString = collection_["tags"].ToString(); string[] tags = tagsString.Replace(" ","").Split(','); linkRepository.AddLink(url,description,tags);
解决方法
您可以直接使用参数;参数将自动解析并转换为正确的类型.方法中的参数名称必须与从表单中发布的参数名称匹配.
[AcceptVerbs(HttpVerbs.Post)] public ActionResult AddNewLink(string url,string description,string tagsString) { string[] tags = tagsString.Replace(" ",'); linkRepository.AddLink(url,tags); }
这通常适用于更复杂的对象,只要其属性可以设置,并且只要表单键的格式为objectName.PropertyName即可.如果你需要更高级的东西,你应该看看model binders.
public class MyObject { public int Id {get; set;} public string Text {get; set;} } [AcceptVerbs(HttpVerbs.Post)] public ActionResult AddNewLink(MyObject obj) { string[] tags = obj.Text.Replace(" ",tags); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。