如何在视图中保存用户输入内容,并在离开页面时对控制器进行后期调用
How do I save user input content in the view and do a post call to the controller when navigate away from page, silently
所以标题说明了我想要实现的目标。以下是我正在使用的内容:
Microsoft MVC4Razor查看
Model
class Model1
{
public string var1 {get; set;}
public bool ExitPage {get; set;}
}
视图是cshtml,看起来像这样:
@using Models
@model Model1
@using (Html.BeginForm())
{
bool notFromSubmit = false;
@Html.HiddenFor(x => x.ExitPage)
@Html.Hidden("ExitPage", Model.ExitPage)
Model.ExitPage = false;
<article class="widget widgetFullPage" data-role="collapsible" data-collapsed="true">
<h2 id="contactDetails">GENERAL INFORMATION</h2>
<table>
<tr id="Row1" style="background-color: #FFFFFF;">
<td style="width: 200px; padding-bottom: 10px; padding-left: 30px; padding-top: 20px"><label>Var1</label></td>
<td id="var1Id" style="padding-bottom: 10px; padding-top: 20px; width: 300px">
@Html.TextBoxFor(x => x.var1, null, new { style = "width:100px;" })
</td>
<td style="width: 250px; padding-top: 20px;"></td>
</tr>
<tr id="Row2">
<td></td>
<td></td>
<td style="float: right; vertical-align: top; padding-right: 30px; padding-bottom: 20px">
<input value=" " class="nextbutton loading" type="submit" id="NextButton" />
</td>
</tr>
</table>
</article>
}
<script type="text/javascript">
$("#NextButton").on('click', function () {
if (window.notFromSubmit) {
document.getElementById('ExitPage').value = true;
} else {
document.getElementById('ExitPage').value = false;
}
});
$(document).ready(function() {
window.onbeforeunload = function () {
if (window.event) {
window.notFromSubmit = true;
$("#CaseManagementNextButton").click();
}
return null;
};
});
</script>
我在这里试图实现的是,当按下下一个按钮时,它会用保存来返回帖子,控制器会将用户重定向到下一个页面。其中,当用户导航离开/关闭页面时,它将在模型上设置ExitPage变量,以便控制器只保存并退出。
这基本上是有效的,只是我必须安静地做这件事(没有弹出对话框)。但是,使用"onbeforeunload"事件。即使返回null,它仍然会弹出一个确认框,并希望让用户选择留下还是离开。有没有一种方法可以不弹出对话框,只执行离开操作,然后仍然触发下一个按钮上的单击事件?当我注释掉返回时,它不会弹出对话框,但也不会执行nextbutton click事件。
任何帮助都将不胜感激。
添加onblur="myFunction(),然后对控制器进行异步调用。
相关文章:
- 由控制器调用的服务更改时,Angular未更新视图
- 概念验证模型控制器调用正确的实例
- 角度.js - 识别通过路由或 ng 控制器调用的控制器
- 在 angularJs 中从控制器调用同时$http服务
- 从另一个控制器调用一个控制器
- 在控制台中隐藏AJAX控制器调用
- 如何从指令的控制器调用依赖注入服务的嵌套方法
- 将全局变量从控制器调用到HTML视图AngularJS
- 将数据从控制器调用到HTML视图AngularJS
- 从 AngularJS 中的父控制器调用指令的方法
- 从 Angular 控制器调用引导模式
- 从控制器调用特定指令实例的函数
- 从另一个文件 AngularJS 中的另一个控制器调用函数
- 如何在 angularjs 中从一个控制器调用另一个控制器的函数
- AngularJS + Ionic - 如何从第一个控制器调用第二个控制器上的方法
- 如何从 Angular 上的控制器调用指令的函数
- AngularJS,ng-repeat+过滤器从控制器调用
- 使用链接从不同的控制器调用操作
- Angularjs,如何从另一个控制器调用控制器
- 根据条件从 Rails 控制器调用 jQuery 函数