Asp.net mvc 防止页面通过MVC Ajax actionlink导航

Asp.net mvc 防止页面通过MVC Ajax actionlink导航,asp.net-mvc,razor,asp.net-mvc-ajax,Asp.net Mvc,Razor,Asp.net Mvc Ajax,我正在使用asp.net(模型视图控制器)razor视图Ajax操作链接浏览我网站中的页面。我的要求是,在导航到不同页面并转到当前页面之前,我必须限制用户并填充一些弹出窗口 假设有视图1(链接),我在加载视图1页面之前单击视图1,我将不得不显示一些弹出窗口。。 我已经用html动作链接实现了这个功能,但我也希望它能用于ajax动作链接 谢谢,您可以在JavaScipt for Ajax中实现OnSuccess(或OnFailure、OnBegin或OnComplete)事件。ActionLink

我正在使用asp.net(模型视图控制器)razor视图Ajax操作链接浏览我网站中的页面。我的要求是,在导航到不同页面并转到当前页面之前,我必须限制用户并填充一些弹出窗口

假设有视图1(链接),我在加载视图1页面之前单击视图1,我将不得不显示一些弹出窗口。。 我已经用html动作链接实现了这个功能,但我也希望它能用于ajax动作链接


谢谢,

您可以在JavaScipt for Ajax中实现OnSuccess(或OnFailure、OnBegin或OnComplete)事件。ActionLink()检查下面的代码-

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script type="text/javascript">
    function Test() {
        alert('hi');
    }
</script>

@Ajax.ActionLink("Rules", "LoadRules", new AjaxOptions { OnSuccess = "Test" })

功能测试(){
警报(“hi”);
}
@ActionLink(“规则”,“加载规则”,新的AjaxOptions{OnSuccess=“Test”})

上面的代码调用了TestJavaScript函数,在这里我只是在提醒一条消息。但在您的需求中,您可以使用一些JQuery ModalPopup(甚至是window.open())为最终用户显示弹出窗口。

我可以从onbegin事件调用onsuccess事件吗?比如:@Ajax.ActionLink(“Rules”、“LoadRules”、新的AjaxOptions{OnBegin=“Test”、Onsuccess=“Test1”})。我不想在上面一行写OnSuccess事件,但想从测试函数调用。实际上,有一些条件需要检查的功能,根据该条件,我将不得不打开一个新的页面。我在Test内部调用了Test1,但它不是working@user3369120,为什么要这样做?因为如果用户单击“是”按钮,我必须要求通过弹出窗口保存值,然后我将用户导航到新页面,否则必须保持在同一页面上。同一个弹出窗口控制多个页面,因此我无法硬编码操作方法,它应该是动态的。您可以假设我想要实现类似于您希望将页面保留在Ajax操作链接中的功能mvc@user3369120,这可以通过简单的onbeginjavascript事件和类似
returnconfirm的确认对话框来完成(“您确定要离开此页面吗?”)
OnBegin.OnSuccess中的某种代码将在成功的服务器调用时被调用。