ASP.net mvc 架构中在JQuery脚本与Action传值

本文介绍如何使用jQuery从ASP.NET MVC前端获取元素位置,并通过AJAX发送至服务器处理。具体步骤包括读取CSS属性、POST请求及服务器端响应。

今天在学习ASP.net MVC架构和JQuery开发WEB应用过程中,想实现在前台(View)的JQuery脚本中将某个界面元素的位置坐标传递到服务器Action 方法中。在网上看了不少高手写的东西,还是不能理解(本人水平比较菜 :)),后来一个一个滴试验,基本上弄清楚了,就此做个笔记。

一、需求:

         1、利用JQuery脚本读出指定DOM元素的lefttop两个CSS属性。

         2、再将这2个数据传递给Controller中的Action方法,保存在数据库或者XML文档中。

二、实现:

         1、页面(View)中有元素:

    <div  class ="mydrag" style=" position: absolute">姓名</div>

     <input  id="Button1"  type="button"  value="保存数据" />

    2JQuery脚本如下:

    <script type="text/javascript"> 
    $(document).ready(function () {
         $("#Button1").click(function () {
          var left = $(".mydrag").css("left");
            var top = $(".mydrag").css("top");
         $.post("/Home/SendData", {"ss":left,"ss1":top} , function(data){alert(data);},"HTML");
        });
    })
   </script>
   其中:
            var left = $(".mydrag").css("left");

           var top = $(".mydrag").css("top"); 
   两句读出指定元素的lefttop CSS 属性保存在left  top 变量中;
 $.post("/Home/SendData", {"ss":left,"ss1":top} ,function(data){alert(data);},"HTML"); 
  这句需要理解:
    "/Home/SendData" Controller中的Action方法;
   {"ss":left,"ss1":top}是需要传递的两个参数,"/Home/SendData"会以函数参数的形式读取;
   function(data){alert(data);}是执行这条语句的回调函数,其中的data是由"/Home/SendData"函数执行返回数据。
   "HTML" 是本条语句传递方式,可以是"HTML",可以是"Json",可以是"TEXT"等等。
   $.post()是JQuery.ajax()方法的高级版本,对应的还有$.get(),这个是JQuery的内容。
   3 Controller中的Action写法如下:

        [HttpPost]

        public ActionResult SendData(string ss ,string ss1)

        {

           

        //   do something for save data.

            return Content(ss +"|||" +ss1);

        }

4、执行后会有个Alert 弹出如下:


Alert中显示的内容就是ss +"|||" +ss1,这样证明两个参数已经被传到Action中。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值