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);
        }
    });
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM