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