Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示类似“警告”的警告消息;“已成功插入”;使用ASp.net MVC3插入数据库后_C#_Asp.net_Asp.net Mvc 3_Entity Framework 4 - Fatal编程技术网

C# 如何显示类似“警告”的警告消息;“已成功插入”;使用ASp.net MVC3插入数据库后

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 {

如何使用MVC编写代码,在用户数据存储到数据库中后显示警报消息:“已成功注册”


我使用的是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");