我有一个动作方法,如下所示:
public ActionResult Index(string message) { if (message != null) { ViewBag.Message = message; } return View(); }
发生什么事情是,对这个请求的URL将如下所示:
www.mysite.com/controller/?message=Hello%20world
但我希望它看起来只是
www.mysite.com/controller/
解决方法
不,除非你使用POST方法,否则信息必须通过某种方式.另一种可能是使用中间类.
// this would work if you went to controller/SetMessage?message=hello%20world public ActionResult SetMessage(string message) { ViewBag.Message = message ?? ""; return RedirectToAction("Index"); } public ActionResult Index() { ViewBag.Message = TempData["message"] != null ? TempData["message"] : ""; return View(); }
要么.如果你只是使用一个POST
//your view: @using(Html.BeginForm()) { @Html.TextBox("message") <input type="submit" value="submit" /> } [HttpGet] public ActionResult Index() { return View(); } [HttpPost] public ActionResult Index(FormCollection form) { ViewBag.Message = form["message"]; return View(); }
原文地址:https://www.jb51.cc/aspnet/246067.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。