zoukankan      html  css  js  c++  java
  • asp.net 前后台数据交互方式(转)

    https://blog.csdn.net/luckyrass/article/details/38758007

    一、前台直接输出后台传递的数据
    后台代码:

    // .aspx.cs
    public string value = string.Empty;
    public StringBuilder list = new StringBuilder();
    protected void Page_Load(object sender, EventArgs e)
    {
        value = "yes";
        list.Append("第一串文字<br />");
        list.Append("第二串文字<br />");
    }
    

    前台代码:

    <!--.aspx-->
    <div><%=value%></div>
    <!--if else 写法-->
    <div><%=(value== "yes" ? "是yes" : "不是yes")%></div>
    <div><%=list.ToString()%></div>
    

    也可以直接在js里获取

    // .aspx
    <script type="text/javascript">
    var value = '<%=value%>';
    // 获取Web.config里的domainurl
    var domainurl = '<%= System.Web.Configuration.WebConfigurationManager.AppSettings["domainurl"] %>';
    </script>
    

    二、 前台传参,后台获取参数并返回值,前台可直接调用方法必须是静态方法
    后台代码:

    // // .aspx.cs
    public static int getvalue(int value)
    {
        return 555 * value;
    }
    

    前台代码:

    <!--.aspx-->
    <div><%=getvalue(2)%></div>
    

    三、新建一个类,前台传参 类中方法获取参数并返回值,前台可直接调用方法必须是静态方法
    后台代码:

    // 比如indexController.cs类或者一般处理程序IndexController.ashx
    public class IndexController
        public static string geturl(string apiName)
        {
            string url = "http://www.test.com/" + apiName;
            return url;
        }
    }
    

    前台代码:

    <div><%=indexController.geturl("apiName")%></div>
    

    四、ajax 和 WebMethod 传参
    后台代码 :

    // index.aspx.cs
    [WebMethod]
    public static string getValue(string value)
    {
        return "Hello Ajax! " + value;
    }
    

    前台代码:

    //  index.aspx
    $(function () {
        $.ajax({
            type: "post", //要用post方式                 
            url: "indexWebForm.aspx/getValue",//方法所在页面和方法名
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify({ value: "Test" }),//json字符串
            async: false,//阻塞的异步就是同步
            beforeSend: function () {
                // do something.
                // 一般是禁用按钮等防止用户重复提交
                // $("#btnClick").attr({ disabled: "disabled" });
                // 或者是显示loading图片
            },
            success: function (data) {
                alert("success: " + data.d);//注意这里:必须通过data.d才能获取到服务器返回的值
                // 服务端可以直接返回Model,也可以返回序列化之后的字符串,如果需要反序列化:string re= JSON.parse(data.d);
                // 有时候需要嵌套调用ajax请求,也是可以的
            },
            complete: function () {
                //do something.
                // $("#btnClick").removeAttr("disabled");
                // 隐藏loading图片
            },
            error: function (data) {
                alert("error: " + data);
            }
        });
    });
    
  • 相关阅读:
    HTTP method GET is not supported by this URL
    idea 报错javax/xml/bind/DatatypeConverter
    PartyBid 学习笔记 之 第二张卡片总结
    PartyBid 学习笔记 之 第一张卡片总结
    Yeoman 之 Jade自动化生成的Grunt实现
    Jade —— 简洁的HTML模版引擎
    Underscore.JS 之 消灭for循环
    SqlServer 根据时间统计数据展示图表
    C# 中使用 JavaScriptSerializer 序列化时的时间类型处理
    jQuery 插件 autocomplete 的使用
  • 原文地址:https://www.cnblogs.com/wsq-blog/p/10699068.html
Copyright © 2011-2022 走看看