C# 如何显示类似“警告”的警告消息;“已成功插入”;使用ASp.net MVC3插入数据库后
如何使用MVC编写代码,在用户数据存储到数据库中后显示警报消息:“已成功注册”C# 如何显示类似“警告”的警告消息;“已成功插入”;使用ASp.net MVC3插入数据库后,c#,asp.net,asp.net-mvc-3,entity-framework-4,C#,Asp.net,Asp.net Mvc 3,Entity Framework 4,如何使用MVC编写代码,在用户数据存储到数据库中后显示警报消息:“已成功注册” 我使用的是Asp.Net MVC3、C#、实体模型。最好的方法是在更新成功后在视图对象上设置属性。然后,您可以在视图中访问此属性,并相应地通知用户 已经说过,通过这样做可以从控制器代码触发警报- public ActionResult ActionName(PostBackData postbackdata) { //your DB code return new JavascriptResult {
我使用的是Asp.Net MVC3、C#、实体模型。最好的方法是在更新成功后在视图对象上设置属性。然后,您可以在视图中访问此属性,并相应地通知用户 已经说过,通过这样做可以从控制器代码触发警报-
public ActionResult ActionName(PostBackData postbackdata)
{
//your DB code
return new JavascriptResult { Script = "alert('Successfully registered');" };
}
你可以在这个问题中找到更多的信息-我个人喜欢AJAX 如果您无法切换到
@Ajax…
帮助程序,我建议您在模型中添加几个属性
public bool TriggerOnLoad { get; set; }
public string TriggerOnLoadMessage { get; set: }
通过将视图更改为强类型模型
@using MyModel
在返回视图之前,如果创建成功,请执行以下操作
MyModel model = new MyModel();
model.TriggerOnLoad = true;
model.TriggerOnLoadMessage = "Object successfully created!";
return View ("Add", model);
然后在您的视图中,添加此
@{
if (model.TriggerOnLoad) {
<text>
<script type="text/javascript">
alert('@Model.TriggerOnLoadMessage');
</script>
</text>
}
}
请记住在成功发出警报后重置模型属性
MVC的另一个优点是,您可以为所有这些定义一个EditorTemplate,然后通过以下方式在视图中使用它:
@Html.EditorFor (m => m.TriggerOnLoadMessage)
但如果你想建立这样一个东西,也许最好定义你自己的C#类:
并在模型中添加
ClientMessageNotification
属性。然后为ClientMessageNotification
类编写EditorTemplate/DisplayTemplate,就完成了。美观、干净且可重复使用。尝试使用TempData
:
public ActionResult Create(FormCollection collection) {
...
TempData["notice"] = "Successfully registered";
return RedirectToAction("Index");
...
}
然后,在索引视图或母版页等中,可以执行以下操作:
<% if (TempData["notice"] != null) { %>
<p><%= Html.Encode(TempData["notice"]) %></p>
<% } %>
或者,从一个尖锐的角度来看:
@if (TempData["notice"] != null) {
<p>@TempData["notice"]</p>
}
@if(TempData[“notice”]!=null){
@TempData[“通知”]
}
来自MSDN的报价(2014年页面不再存在,存档副本):
动作方法可以在调用控制器的RedirectToAction方法调用下一个动作之前将数据存储在控制器的TempDataDictionary对象中。TempData属性值存储在会话状态中。设置TempDataDictionary值后调用的任何操作方法都可以从对象中获取值,然后处理或显示这些值。TempData的值会一直存在,直到读取或会话超时为止。以这种方式持久化TempData支持重定向等场景,因为TempData中的值在单个请求之外都可用
小编辑 尝试添加
return new JavascriptResult() { Script = "alert('Successfully registered');" };
代替
return RedirectToAction("Index");
如何做…?iam使用实体模型..这是我的代码public ActionResult Create(){try{return View();}catch(Exception ex){return LogException(ex);}}}[HttpPost]public ActionResult Create(FormCollection集合){try{var objmsg=new Models.motds();tblMessage msg=new tblMessage();msg.CreatedDate=System.DateTime.Now;msg.ModifiedDate=System.DateTime.Now;//默认id CreatedDate UpdateModel(msg);objmsg.AddMessage(msg);return RedirectToAction(“Index”);}catch(异常示例){}尝试添加
return new JavascriptResult{Script=“alert('Successfully registered');”};
以代替return RedirectToAction(“Index”));
return new JavascriptResult() { Script = "alert('Successfully registered');" };
return RedirectToAction("Index");