在MVC下利用JQUERY实现AJAX提交并实现AJAX.NET的UpdateProgress功能

在MVC下我们不能利用AJAX.NET控件,那么要实现UpdateProgress来显示进度怎么办,我们可以利用JQUERY来实现这个功能。顺便说一句JQuery将集成在下一版本的Visual Studio中,是MS AJAX FrameWork的一部分。

1.接着上一篇的XML Menu,我们先编辑Menu.XML,添加如下代码:

<MenuItem Order="4" Action="Test"  Controller="AJAXFORM">
AJAXFORM
</MenuItem>

2.在View目录下添加AJAXFORM目录和View Test.

效果如下:

代码:

<%@ Page  Title="" Language="C#"  MasterPageFile="~/Views/Shared/Site.Master"  Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content  ID="Content1" ContentPlaceHolderID="TitleContent"  runat="server">
Test
</asp:Content>
<asp:Content  ID="Content2" ContentPlaceHolderID="MainContent"  runat="server">

<script  src="http://www.cnblogs.com/Scripts/jquery-1.2.3-intellisense.js"  type="text/javascript"></script>
<script  language="javascript" type="text/javascript">
$(document).ready(function() {
$.formValidator.initConfig();
$("#data").formValidator({ onshow: "please input test data",  onfocus: "test data required", oncorrect: "OK" })
.inputValidator({ min: 1, empty: { leftempty: true, rightempty: true },  onerror: "test data required" });
var options = {
target:  '#divResult',  // target element(s) to be updated with server response
beforeSubmit: check, // pre-submit callback
success: showResponse, //  post-submit callback
url: 'Test',     // override for form's  'action' attribute
type: 'post',    // 'get' or  'post', override for form's 'method' attribute
dataType:  'json'    // 'xml', 'script', or 'json' (expected  server response type)
// other available options:
//clearForm: true     // clear all form fields after successful submit
//resetForm: true     // reset the form after successful submit

// $.ajax options can be  used here too, for example:
//timeout:  3000
};
$('form').ajaxForm(options);
});
function checkForm() {
return  jQuery.formValidator.pageIsValid();
}
function showResponse(data) {
data  = decodeURI(data);
$("#data").val(decodeURI($("#data").val()));  //后台来的数据经过编码
$("#divLoading").removeClass().addClass ("Hidden");
$("#DivResultData").html(data); //提交前编码,这 里再解码
}
function check() {
if (checkForm()) {
$("#divLoading").removeClass().addClass("Visible");
$("#divResult").removeClass().addClass("Visible");
$("#data").val(encodeURI($("#data").val()));  //提交前编码
}
}
</script>

<h2>
Test</h2>
<%using  (Html.BeginForm("", "", FormMethod.Post, new { @onsubmit =  "return checkForm();" }))
{ %>
<fieldset>
<legend>AJAX Form 演示 </legend>
<h3>
Test</h3>
<%=Html.TextBox("data", "", new { @class =  "InputNormal" })%>
<div id="dataTip">
</div>
<input id="submit" type="submit"  value="submit" />
</fieldset>
<div  id="divResult" class="Hidden">
<h3>
Result</h3>
<fieldset>
<div id="divLoading">
<img src='<%=Url.Content("~/Content/images/loader.gif")%>'  alt="load" />
please waiting...</div>
<div  id="DivResultData">
</div>
</fieldset>
</div>
<%} %>
</asp:Content>

用了form插件,用div实现UpdateProgress

时间: 2024-10-03 02:57:06

在MVC下利用JQUERY实现AJAX提交并实现AJAX.NET的UpdateProgress功能的相关文章

介绍ajax提交url与ajax提交表单的区别

 本篇文章主要是对ajax提交url与ajax提交表单的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1:ajax自已构造一个url,这种方式传参数要用Data,不能用于表单提交.  例:    代码如下:          function createHtml(id){              $("#reloading").show();               //edit_bg是个div,提交时显示,这样可以使背景页面不能操作.             

Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)_jquery

其中用到了jquery插件来验证用户名哦,这里是利用jquery ajax来验证用户名是否存在哦.大家看看效果图,后面将附上源码下载. jquery框架实现的ajax 验证用户名是否存在的部分JS 复制代码 代码如下: $("#accounts").formValidator({onshow:"请输入用户名",onfocus:"用户名至少4个字符,最多10个字符",oncorrect:"该用户名可以注册"}).inputVal

ajax提交url与ajax提交表单的详细比较_AJAX相关

1:ajax自已构造一个url,这种方式传参数要用Data,不能用于表单提交. 例: 复制代码 代码如下:          function createHtml(id){             $("#reloading").show();              //edit_bg是个div,提交时显示,这样可以使背景页面不能操作.             $("#edit_bg").show();             $.ajax({        

ajax提交url与ajax提交表单的详细比较

1:ajax自已构造一个url,这种方式传参数要用Data,不能用于表单提交. 例:复制代码 代码如下:         function createHtml(id){             $("#reloading").show();              //edit_bg是个div,提交时显示,这样可以使背景页面不能操作.             $("#edit_bg").show();             $.ajax({          

IE8下使用jquery.form.js提交文件表单的问题

问题描述 Jquery版本:1.8.0jquery.form.js版本:3.50.0-2014.02.05当提交内容中包含enctype="multipart/form-data"时,服务端httprequest的form.param属性都为空.<formid="ProjectMaterialEdit"action="/ProjectMaterial/Edit/@Guid.Empty"enctype="multipart/form

Jquery中ajax提交表单几种方法(get、post两种方法)_AJAX相关

在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法.$get方式提交表单get() 方法通过远程HTTP ,下面我来介绍两个提交表单数据的方法. $get方式提交表单 get() 方法通过远程 HTTP GET 请求载入信息 格式 $(selector).get(url,data,success(response,status,xhr),dataType

jQuery使用$.ajax提交表单完整实例_jquery

本文实例讲述了jQuery使用$.ajax提交表单的方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/199

IE下Ajax提交乱码的快速解决方法_AJAX相关

哈哈,试了这么多还是encodeURIComponent管用啊!!!! 在汉字的位置加个保护措施:encodeURIComponent(parentid) function loadCity(parentid) { var city = '${hotel.city}'; $.ajax({ url: './listCity.jspx?prov='+ encodeURIComponent(parentid), type: 'GET', dataType: 'JSON', timeout: 5000,

服务器-Ajax提交表单与一般提交表单的差别?

问题描述 Ajax提交表单与一般提交表单的差别? 在一般提交表单时,浏览器html将表单数据submit到服务器后,服务器会执行相关的处理脚本 比如(php,asp)等,进行处理,再将相关的HTML返回到浏览器端. 而ajax改变了这一过程,它是浏览器html将表单数据提交给本地的javascript,而javascript调用XMLHTTPRequest, 利用XMLHTTPRequest将数据传给服务器端,服务器端通过javascript收到数据,再调用处理脚本(php, asp)进行处理,