asp.net-mvc – Redirect和RedirectToAction之间的混淆
我正在读MS证书(70-515).
我在网上找到的东西和我在实践考试中读到的内容感到困惑. 关于SO状态的几个问题,使用RedirectToAction将浏览器发送到302,从而使其在地址栏中更改其url. 但这是一个练习测试中的一个问题: 题:
public ActionResult Index() { ViewData["Message"] = "Hello!"; return View(); }
正确答案: public ActionResult FindID(int? id) { if (!id.HasValue) return RedirectToAction("Index"); ViewData["Message"] = "ID is " + id.ToString(); return View(); } 说明:
所以: 解决方法
这是不正确的 RedirectToRouteResult(RedirectToAction)和RedirectResult都执行302重定向,导致浏览器中的URL更改. 要返回索引结果而不更改代码实际上的url: public ActionResult FindID(int? id) { if (!id.HasValue) return View("index"); ViewData["Message"] = "ID is " + id.ToString(); return View(); } 不过,我不会推荐这种方法.如果我要求mysite.com/products/some-product和某些产品不存在,那么我应该通过相关的状态代码通知用户(对搜索引擎也很重要). 如果您的FindID操作的唯一目的是使用id参数执行某些操作,那么它不应该是空的/可选的.这样,如果未指定ID,则不会调用FindID操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 是*不*使用asp.net成员资格提供程序一个坏主意?
- ASP.NET 5中的手动防伪标记创建和验证
- asp.net – Facebook应用程序仅适用于管理员.为什么?
- asp.net – 在MS Access中双重插入?
- asp.net-mvc-3 – 为什么Razor将验证属性放在@Html.Hiddenf
- ASP.NET:将内容注入所有Response流
- asp.net – .NET身份电子邮件/用户名更改
- ASP.NET Webforms – “从客户端检测到一个潜在危险的Reque
- 具有自定义角色的ASP.NET MVC和Windows身份验证
- 如何在ASP.NET GridView中找到控件的客户端ID?
- 加载ASP.Net MVC JSONResult jQuery DataTables
- 谈谈IE针对Ajax请求结果的缓存
- asp.net – SOAP 1.2在SOAP 1.1工作时产生错误请
- 将ASP.Net System.Net.Mail设置移动到Web.config
- asp.net – Asp Button悬停和CSS
- asp.net – System.Net.Cookie和System.Web.Http
- asp.net – 提供的URI方案’https’无效;预期’h
- ASP.Net将文件下载到客户端浏览器
- 经典的asp和ASP.NET MVC可以在同一个站点上并行运
- asp.net – 在Visual Studio编辑器中配置<%%>块