use*_*007 16 c# asp.net entity-framework-4 asp.net-mvc-3
如何使用MVC编写用于显示警报消息的代码:"成功注册",用户数据存储在数据库中之后
我使用的是Asp.Net MVC3,C#,Entity Model.
Mik*_*ock 27
尝试使用TempData
:
public ActionResult Create(FormCollection collection) {
...
TempData["notice"] = "Successfully registered";
return RedirectToAction("Index");
...
}
Run Code Online (Sandbox Code Playgroud)
然后,在索引视图或母版页等中,您可以执行以下操作:
<% if (TempData["notice"] != null) { %>
<p><%= Html.Encode(TempData["notice"]) %></p>
<% } %>
Run Code Online (Sandbox Code Playgroud)
或者,在Razor视图中:
@if (TempData["notice"] != null) {
<p>@TempData["notice"]</p>
}
Run Code Online (Sandbox Code Playgroud)
从MSDN引用(截至2014年页面已不存在,此处存档副本):
action方法可以在调用控制器的RedirectToAction方法调用下一个操作之前将数据存储在控制器的TempDataDictionary对象中.TempData属性值存储在会话状态中.在设置TempDataDictionary值之后调用的任何操作方法都可以从对象获取值,然后处理或显示它们.TempData的值一直存在,直到读取或会话超时为止.以这种方式保持TempData可以启用重定向等方案,因为TempData中的值可以在单个请求之外使用.
执行此操作的"最佳"方法是在更新成功后在视图对象上设置属性.然后,您可以在视图中访问此属性并相应地通知用户.
已经说过可以通过做这样的事情从控制器代码触发警报 -
public ActionResult ActionName(PostBackData postbackdata)
{
//your DB code
return new JavascriptResult { Script = "alert('Successfully registered');" };
}
Run Code Online (Sandbox Code Playgroud)
您可以在此问题中找到更多信息 - 如何使用MVC3控制器显示"消息框"
归档时间: |
|
查看次数: |
101793 次 |
最近记录: |