我正在为我的项目使用ASP.NET MVC2。我想在操作后发送用户确认消息。将消息传递给MVC2中的用户
理想:用查询字符串中的链接 用户点击(即链接删除条目) 控制器做链接怎么说,创建成功的消息,并使用RedirectToAction摆脱摆脱查询字符串网址。 新操作显示成功消息。
有人建议我使用模型错误来做到这一点,但我不认为这会在这种情况下工作。
谢谢。
我正在为我的项目使用ASP.NET MVC2。我想在操作后发送用户确认消息。将消息传递给MVC2中的用户
理想:用查询字符串中的链接 用户点击(即链接删除条目) 控制器做链接怎么说,创建成功的消息,并使用RedirectToAction摆脱摆脱查询字符串网址。 新操作显示成功消息。
有人建议我使用模型错误来做到这一点,但我不认为这会在这种情况下工作。
谢谢。
你可以使用TempData
:
public ActionResult Index()
{
string message = TempData["message"] as string ?? string.Empty;
// send the message as model so that the view can print it out
return View("index", message);
}
[HttpPost]
public ActionResult DoWork()
{
// do some work
TempData["message"] = "Work done!";
return RedirectToAction("index");
}
内部TempData
使用会话,以持续的信息,但它的下一个请求后自动清除,所以这将是仅适用于以下存储下一个请求。
首先不要使用获取请求修改数据!想象一下,搜索引擎索引您的网站并访问所有的删除链接。
其次,为什么目标操作无法返回显示成功/失败消息的视图?
这真的很糟吗?您必须先登录才能访问该区域,并且用户必须是正在删除内容的所有者。 我已经使用了这一段时间,并没有麻烦,但现在你让我惊讶哈哈。我仍然有很多东西需要学习。 – smdrager 2010-06-29 13:45:03
是的,它是坏的,甚至是灾难性的。人们倾向于在其浏览器上安装插件。这些插件通过索引用户正在浏览的内容来假装“改善冲浪体验”。所以没有必要成为一个搜索引擎。没有他知道的可能是用户自己。 – 2010-06-29 13:46:44
哇。我一直在使用这一点。哈哈......呃......废话。因此,而不是接受的方法将是一个: <形式行动= “...” 方法= “POST”> 具有提交按钮或链接用js提交表单? – smdrager 2010-06-29 13:51:32
我在的Site.Master文件中使用TempData的一条消息:
<% if (TempData["Error"] != null)
{ %>
<div id="errorMessage">
<%= Html.Encode(TempData["Error"]) %>
</div>
<% } %>
<% if (TempData["Warning"] != null)
{ %>
<div id="warningMessage">
<%= Html.Encode(TempData["Warning"]) %>
</div>
<% } %>
在我的控制,我可以赋值要么TempData["Error"]
或TempData["Warning"]
,并让他们的风格是不同的。
请不要有链接删除东西。如果搜索引擎抓取它会怎么样?使用张贴表单删除的按钮 – BritishDeveloper 2010-06-29 14:05:33