【发布时间】:2017-03-22 03:54:17
【问题描述】:
我遇到了一个问题,当我从控制器返回视图后,我的浏览器中会弹出一个模式窗口。以下是窗口显示的内容(在 Chrome 中):
它包含来自 Index.cshtml 页面的 html 代码。
这是我的控制器中的代码:
public ActionResult Save(Events changedEvent,FormCollection actionValues)
{
string action_type = actionValues["!nativeeditor_status"];
var eventText = actionValues["text"];
var eventStart = actionValues["start_date"];
var eventEnd = actionValues["end_date"];
try
{
switch (action_type)
{
case "inserted":
if (User.IsInRole("Admin"))
db.Event.Add(changedEvent);
Send(eventText, eventStart, eventEnd);
break;
case "deleted":
//changedEvent = db.Event.SingleOrDefault(ev => ev.Id == source_id);
changedEvent = db.Event.SingleOrDefault(ev => ev.text == eventText);
db.Event.Remove(changedEvent);
break;
default: // update
//changedEvent = db.Event.SingleOrDefault(ev => ev.Id == source_id);
changedEvent = db.Event.SingleOrDefault(ev => ev.text == eventText);
UpdateModel(changedEvent);
break;
}
db.SaveChanges();
}
catch (Exception)
{
action_type = "error";
}
return RedirectToAction("Index", "Home");
}
这是我的 Index.cshtml 页面中处理保存到数据库的代码:
function init() {
var dp = new dataProcessor("/Home/Save");
dp.init(scheduler);
dp.setTransactionMode("POST", false);
}
我对 MVC 还很陌生,并且已经完成了一些教程,但我以前从未遇到过这种行为。我在想我必须处理来自控制器的回调,但到目前为止我的所有搜索都没有产生任何结果。我希望来自这个优秀社区的人可以为我指明正确的方向。
感谢您抽出宝贵时间阅读!
【问题讨论】:
-
在你的代码中搜索
alert(,好像有人在做js调试忘记删除了 -
我认为您正在使用代码中的异步 POST(即 ajax post 方法),这就是响应未重定向到索引页面的原因,而是将警报(如@Pete 评论)显示为字符串来自您的索引页的内容。
标签: javascript c# asp.net-mvc