关闭

mvc 中的传值

标签: c#mvcpost服务器浏览器
248人阅读 评论(1) 收藏 举报

        在服务器端状态有改变,或者是修改更新某些数据时多用POST请求。接触到新的项目时长需要更新的时候忽然发现post有多么的重要,GET和POST两种方法都是将数据送到服务器,但是GET方法可能会产生很长的URL,或许会超过某些浏览器与服务器对URL长度的限制。特别是在url地址栏上直接加上要传的值的话,专于攻击你网站的人看到以后,直接看到你数据库的数据类型,存储格式,给了他们探测你数据的机会,我上学的时候,宿舍有个朋友专门研究漏洞的,经常我们做的网站被他连数据库一起扒拉下来了,搞的我们好崇拜哦。呵呵!

       

使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求。$.post方法是jQuery的实用工具方法。

$.post方法语法

$.post(url,parameters,callback)

参数

 

url

(字符串)服务器端资源地址。

parameter

(对象)需要传递到服务器端的参数。 参数形式为“键/值”。

callback

(函数)在请求完成时被调用。该函数参数依次为响应体和状态。

<script type="text/javascript">
//前台程序
var queding = function () {
        var bill_guid = $("#bill_guid").val();
        var phone = $("#phone").val();
        if (bill_guid == "" || phone == "") {
            $("#showalert2").show();
            return false;
        }
        else {

            $.post("/home/RobOrder", { phone: phone, bill_guid: bill_guid }, function (data) {

                if (data == "1") {
                    //alert("抢单成功!请查看抢单记录进行回收处理。");
                    $("#showconfirm").hide();
                    $("#showdivwrap").show();
                }
                else {
                    $("#showalert1").show();
                }
            });
        }
    }

//后台程序

[HttpPost]
        public string RobOrder(FormCollection form)//处理抢单
        {
            string backstr = string.Empty;
            string phone = form["phone"] + "";
            string bill_guid = form["bill_guid"] + "";
            string sql_RobOrder = @"if exists (select 1 from order_bill with(xlock) where bill_guid={1} and RobOrder_Mark=0)
                                    begin
                                        if exists (select 1 site_guid from pub_site where phone={0})
                                        begin
                                            update  order_bill set RecyclePerson_Guid=(select top 1 site_guid from pub_site where phone={0}),RobOrder_Mark=1
                                            where bill_guid={1} and RobOrder_Mark=0
                                        end
                                    end";
            int i = 0;
            using (DBContext context = new DBContext())
            {
                i = context.Execute(sql_RobOrder, phone, bill_guid);
            }
            if (i > 0)
            {
                backstr = "1";
            }
            else
            {
                backstr = "0";
            }
            return backstr;
        }

//DBcontext中的方法

 public int Execute(string sql, params object[] args)
        {
            int ret = 0;
            using (DbCommand cmd = PrepareCommand(sql, args))
            {

                ret = cmd.ExecuteNonQuery();
            }
            return ret;
        }


好了,今天的研究就先到这里,我要去熟悉熟悉数据库了,忽然发现这个数据库语句写的我,,竟然不知道数据库里面if的使用

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5499次
    • 积分:175
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:2篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论