在ASP.NET MVC 1.0中使用Jquery库进行Action调用

这是我在博客园的第一篇博客,这段时间一直在进行毕业设计,我毕业设计的题目便是利用ASP.NET MVC 1.0,记得当时开题报告之前ASP.NET MVC 1.0正式版刚出,自己略微了解了其中的新特性,便信誓旦旦的要利用它来做项目,开题报告会上把几个导师也忽悠了。后来还是自己来买单。

项目(实话说叫它项目真是有点抬举它,不过毕竟还是有些模块的)进行中,出现了这样那样的问题,比如开始建模阶段,因为有两种建模的方式可选,而最新的是利用ADO.NET Entity Data Model建模,可是因为是新东西,所以网上可查阅的资料不是很多,最后还是选择了LINQ To SQL,所以告诉自己,这期间要是还有什么新技术,坚决不用了。

好了,废话少说开始主题吧(现在才开始),像这个题目网上能找出来不知多少篇博文,我不是什么专家,所以尽量写得更通俗易懂些,希望能给有此类问题或类似问题的朋友们一启发,要是能达到这样的目的,那我就知足了

MVC的一般模式都是Controller里的Action对应一个View页面,网上给的例子也大都是这样的场景,这个Action要么是List,Create,Edit,每个页面对应一个从Action中返回回来的ActionResult,页面之间的跳转也就会有刷新,当时看MVC关于Ajax的介绍时,自己只是知道在script文件夹下放着需要的js库,但并不知道怎样使用,不过自己当时想的是这些js应该可以在不刷新的情况下进行Controller中的调用。于是奔着这个思路开始

例如一个普通的Action(写在HomeController中的)

public JsonResult GetJson() { return Json(new { Message1 = "It is worked", Message2 = "……again!" }); }

返回一个Json对象

页面代码:

ByJQuery:<br /> 

Region1:<span id="region1"></span><hr /> 

Region2:<span id="region2"></span><hr /> <p>

<input type="button" οnclick="DoSomething()" value="OK"/></p> 

<script type="text/javascript"> 

function DoSomething() 

{ $.getJSON("Home/GetJson", null, function(data) 

{ $("#region1").text(data.Message1); 

$("#region2").text(data.Message2); }) } 

</script>

在页面放置两个span标签用于显示结果,一个按钮用于触发ajax事件,利用jquery的getJSON方法,第一个参数是用于指明请求地址,在这里就是Action的地址,第二个为可选参数(待发送 Key/value 参数),第三个参数为载入成功时回调函数,在此我们需要将它显示在两个span上(关于getJSON函数的具体内容参阅jquery的api),好了,这样一个简单的利用jquery调用Action的实例就完成了。

当然简单的还不能解决具体的问题,因为毕竟上面的action没有参数,很多时候我们编写的Action是有参数的,这时候需要我们从页面中取得参数,传给Action进行处理:

public ActionResult JqueryDemo(string content) 

{

 //对传入进来的content进行一系列的操作 

data.Add(content);//将传入一参数添加到List<string>类型的data中去             

return Json(data); 

}

页面代码段:

ByJqueryDemo:<br /> 

<input type="text" id="input1" /> 

<input type="button" value="ByJquery" οnclick="GetByJquery()" /> 

<div id="JqueryResult"></div> 

<script type="text/javascript" > 

function GetByJquery() 

{ $.ajax( { 

type: "POST", 

url: "/Home/JqueryDemo", 

data: "content=" + $("#input1").val(), 

success: function(msg) { $("#JqueryResult").text(msg); } }); 

</script>

其中的ajax函数有很多option,而且所有的option都是可选的,而我们传参数时就需要填写data选项把参数传过去,如果是多个参数则要加上&

这样参数就可以顺利的传到Action中了,关于ajax函数的其他用法可以参考jquery的api,因为我也是个初学者,所以就先写到这吧。

转载于:https://www.cnblogs.com/jasonyun/archive/2009/04/28/MVC.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值