asp.net-mvc – ASP.NET MVC:返回查询字符串完整的视图
发布时间:2020-12-16 09:58:01 所属栏目:asp.Net 来源:网络整理
导读:我正在ASP.NET中创建一个消息传递Web应用程序,如果他们发送消息并且出现错误,则在向用户显示错误消息时会遇到一些问题. 用户可以查看人员的个人资料,然后单击“发送消息”.调用以下操作(url是/ message / create?to = username)并向他们显示一个页面,他们可
我正在ASP.NET中创建一个消息传递Web应用程序,如果他们发送消息并且出现错误,则在向用户显示错误消息时会遇到一些问题.
用户可以查看人员的个人资料,然后单击“发送消息”.调用以下操作(url是/ message / create?to = username)并向他们显示一个页面,他们可以在其中输入消息并发送它: public ActionResult Create(string to) { ViewData["recipientUsername"] = to; return View(); } 在显示的页面上,用户名输入到隐藏的输入字段.当用户点击“发送”时: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(FormCollection collection,string message) { try { //do message stuff that errors out } catch { ModelState.AddModelErrors(message.GetRuleViolations()); //adding errors to modelstate } return View(); } 所以现在错误消息显示给用户很好,但是更改了url,因为它不再具有查询字符串(/ message / create).同样,这很好,除非当用户单击刷新按钮时,页面错误,因为Create操作不再具有’to’参数. 所以我猜我需要以某种方式维护我的查询字符串.有没有办法做到这一点,还是我需要完全使用不同的方法? 解决方法
我假设你做的事……
<% Html.BeginForm("Create","Controller") { %> <% } %> 当您通过路由创建表单的操作URL时,现有路由值将在此过程中丢失.避免这种情况的最简单方法是使用BeginForm的无参数版本,因为您在发布的页面上. <% Html.BeginForm() { %> <% } %> 这将使用当前url,查询字符串和all作为表单的ACTION.否则,您需要将路由值传递给BeginForm重载. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 适用于ASP.NET的SaaS入门套件,涵盖订阅,计费等
- asp.net-mvc – MVC模型绑定:为什么我不能绑定到迭代器属性
- SimpleMembership与ASP.NET MVC 4中的自定义数据库模式
- ASP.Net的Web TWAIN扫描解决方案?
- asp.net-mvc – ASP.NET MVC不调用global.asax’EndRequest
- asp.net – 联合身份验证和“加密操作期间发生错误”
- asp.net – jqGrid:使用多种方法来过滤数据
- Asp.Net Core 进阶(二) —— 集成Log4net
- asp.net-mvc-3 – MVC Razor – 在一年中的12个月中使用@ H
- asp.net-mvc-4 – 使用Durandal的会话数据
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC HandleError不工作(
- 复合视图模型对象导致远程验证失败
- asp.net-mvc – ASP.NET MVC:CSS文件存在时返回
- asp.net-mvc-4 – 如何从ApiController访问HttpC
- asp.net-mvc – ASP.Net MVC如何使用Html.Render
- asp.net-mvc-3 – 在剃刀视图中使用泛型方法
- asp.net-mvc – 在使用WEB API时,如何从POST中提
- asp.net – 使用Cookie进行Web会话状态 – 有哪些
- 如何在我的新ASP.NET网站中使用OpenID?
- asp.net – 客户端缓存vs Cookie
热点阅读