首页 新闻 会员 周边

.net mvc JavaScriptResult不能如期望的那样调用js?

0
悬赏园豆:5 [已解决问题] 解决于 2013-09-05 21:00

现在项目页面大部分是ajax加载的,现在问题是在每个ajax表单页面必须再次去引用

<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>,

否则无法验证,直接提交到后台了;实际上我在Layout中把js都引用过了。。。

 

还有我想通过捕获到自定义的异常信息,来呈现到客户端(调用js函数),也不能实现,而是直接输出了

如下自定义异常捕获代码:

protected override void OnException(ExceptionContext filterContext)
        {
            if (filterContext.HttpContext.Request.IsAjaxRequest())
            {
                var myException = filterContext.Exception as IClientHandledException;
                if (myException == null) return;

                filterContext.ExceptionHandled = true;
                //filterContext.Result = new JavaScriptResult { Script = "Kratos.handelException('{0}')".With(myException.Message) };
                filterContext.Result = new JavaScriptResult { Script = "alert(0)" };
            }

            base.OnException(filterContext);
        }

但是alert(0)是被当作字符串输出的。

我该怎么做才能实现上述描述的效果?

Kratos Zhang的主页 Kratos Zhang | 初学一级 | 园豆:6
提问于:2013-08-28 18:52
< >
分享
最佳答案
0

对于Ajax加载的Form, 需要执行js,客户端验证才能好用(替换一下Form的Id)

$.validator.unobtrusive.parse("#contactInfoForm");

 

收获园豆:5
JustRun | 菜鸟二级 |园豆:237 | 2013-09-02 17:58

果然有效  非常感谢 - -

Kratos Zhang | 园豆:6 (初学一级) | 2013-09-05 21:00
其他回答(1)
0

你要在每个表单视图中设置为使用这个Layout

dudu | 园豆:30994 (高人七级) | 2013-08-29 09:50

表单视图是PartialView ,AJax请求来呈现表单出来,类似下面这样的,不引用jquery.validate.unobtrusive.js,就无法异步提交和验证

支持(0) 反对(0) Kratos Zhang | 园豆:6 (初学一级) | 2013-08-29 15:12

@Kratos Zhang: 那为什么不引用jquery.validate.unobtrusive.js呢?

支持(0) 反对(0) dudu | 园豆:30994 (高人七级) | 2013-08-29 16:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册