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