zoukankan      html  css  js  c++  java
  • MVC3 ajax功能

    微软mvc3框架的项目使用微软自带的ajax 必须引用下面

    <script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script> 

    system.web.mvc.ajax  提供了一些常用的方法方便使用

    AjaxHelper   主要 有

    1)ajax.ActionToLink  点击链接异步加载返回的内容到html元素内

    2)BeginForm(AjaxHelper, AjaxOptions)    将<form>标记写到响应中去,异步提交form数据 。

    @using (Ajax.BeginForm("jsonLogin", "Home",
        new AjaxOptions {
            Confirm = "确定ajax提交么2?", UpdateTargetId = "loginError2", InsertionMode = InsertionMode.Replace, OnSuccess = "success",
            HttpMethod="Post", LoadingElementId="" }, new { name="form2"}
            ))
    {
       <span id="loginError2" ></span>
       @Html.EditorForModel();
      <input type="submit" value="提交2" />
    }

    3)BeginRouteForm(String, AjaxOptions)

    4)GlobalizationScript() 

    5)RouteLink(String, String, AjaxOptions, Object)

    AjaxOptions的几个属性

    Confirm: 提交之前确认对话框

    HttpMethod:get  or  post

    UpdateTargetId:服务器端返回数据后用来填充 此id。

    InsertionMode:  指定如何将响应插入目标 DOM 元素的模式. 3个值。  “InsertAfter”、“InsertBefore”或“Replace。默认是 replace.

    OnBegin: post数据后执行的,一般为显示加载中..

    OnComplete:获取响应的数据后更新页面之前的js方法

    OnFailure:更新页面失败调用的js方法

    OnSuccess:成功更新页面后执行的方法

    项目问题:

    1.mvc3 使用ajax时候,数据被提交2次。

    解决:因为引用了2次js文件。

      <script src="/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
      <script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>

    随便删除上面其中之一就行了

    2.mvc3项目中使用 ajaxhelper帮助失效,提交数据仍然是普通的post提交

    答:缺少js文件引用

    3.  mvc3 中使用客户端模型验证,服务端验证

       1)首先要将web.config中的验证设置为true

     <appSettings>
        <add key="webpages:Version" value="1.0.0.0" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
        
      </appSettings>

       2)引用相关js文件

    客户端验证要引用

       <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
        <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
    昂首阔步,不留一点遗憾
  • 相关阅读:
    二叉树解题思想
    SpringBoot + Mybatis 和ssm 使用数据库的区别
    Spring Cache 抽象(缓存抽象) Redis 缓存
    VirtualBox 虚拟机 从入门到入坑
    小知识点的记录
    SpringBoot 的不同
    请你激起学习的激情
    java 适配器模式
    UML类图的情话诉说
    Java 工厂模式
  • 原文地址:https://www.cnblogs.com/StudyLife/p/3467427.html
Copyright © 2011-2022 走看看