ASP.NET MVC下的AJAX
在Asp.Net MVC中,每一个Request都被route到一个Controller下的Action来处理,即一个Controller Class的一个方法。因此,如果在Action方法中完成业务逻辑,并把需要回传的数据写回到Response中,在客户端再由JavaScript来处理这些回传的数据,相信也能实现AJAX。基于这个想法,做了一个小小的Demo,实现了asp.net mvc下的ajax。
为了方便起见,客户端JavaScript的功能就通过jQuery来实现了。
页面文件Html Code:
1<h2>Lunch Tracker List</h2>
2<hr />
3<!--<% using( Html.Form<LunchController>( lc => lc.Search(), FormMethod.Post )) { %>-->
4<form. id="UsersForm">
5 Choose User:<%= Html.DropDownList("Users", new SelectList(ViewData.Model.Users, "ID", "UserName"), new { id = "userName" })%> <input type="button" id="btnSearchLunch" value="Show All" />
6</form>
7<!--<%} %>-->
8<br />
9<p id="userlunchlist">
10
11</p>
12<script. type="text/javascript">
13 $(document).ready(
14 function()
15 {
16 $("#btnSearchLunch").click(function()
17 {
18 var userName = $("#userName").val();
19 $.get("/Lunch/SearchUserAjax", { name:userName }, function(data)
20 {
21 $("p#userlunchlist").empty();
22 $("p#userlunchlist").append(data);
23 $("p#userlunchlist table").show("slow");
24 });
25 });
26 }
27 );
28</script>
其中的$(document).ready(…..)是jQuery下的JavaScript实现。
.pb{}
.pb textarea{font-size:14px; margin:10px; font-family:"宋体"; background:#FFFFEE; color:#000066}
.pb_t{line-height:30px; font-size:14px; color:#000; text-align:center;}
/* 分页 */
.pagebox{overflow:hidden; zoom:1; font-size:12px; font-family:"宋体",sans-serif;}
.pagebox span{float:left; margin-right:2px; overflow:hidden; text-align:center; background:#fff;}
.pagebox span a{display:block; overflow:hidden; zoom:1; _float:left;}
.pagebox span.pagebox_pre_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}
.pagebox span.pagebox_pre{color:#3568b9; height:23px;}
.pagebox span.pagebox_pre a,.pagebox span.pagebox_pre a:visited,.pagebox span.pagebox_next a,.pagebox span.pagebox_next a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; text-align:center; width:53px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_pre a:hover,.pagebox span.pagebox_pre a:active,.pagebox span.pagebox_next a:hover,.pagebox span.pagebox_next a:active{color:#363636; border:1px #2e6ab1 solid;}
.pagebox span.pagebox_num_nonce{padding:0 8px; height:23px; line-height:23px; color:#fff; cursor:default; background:#296cb3; font-weight:bold;}
.pagebox span.pagebox_num{color:#3568b9; height:23px;}
.pagebox span.pagebox_num a,.pagebox span.pagebox_num a:visited{border:1px #9aafe5 solid; color:#3568b9; text-decoration:none; padding:0 8px; cursor:pointer; height:21px; *height:23px; line-height:21px;}
.pagebox span.pagebox_num a:hover,.pagebox span.pagebox_num a:active{border:1px #2e6ab1 solid;color:#363636;}
.pagebox span.pagebox_num_ellipsis{color:#393733; width:22px; background:none; line-height:23px;}
.pagebox span.pagebox_next_nolink{border:1px #ddd solid; width:53px; height:21px; *height:23px; line-height:21px; text-align:center; color:#999; cursor:default;}