JavaScript获取后台C#变量以及后台方法
时间: 2023-08-27 20:03:54 浏览: 152
JS调用C#后台方法
5星 · 资源好评率100%
要获取后台C#变量和后台方法,可以使用AJAX或者SignalR等技术实现异步通信。
使用AJAX获取后台C#变量的步骤如下:
1. 在后台C#代码中定义一个公共变量,在需要获取的地方返回该变量的值。
2. 在前端JavaScript代码中使用XMLHttpRequest对象向后台发送请求,获取变量的值。
例如,假设后台定义了一个公共变量varName,需要在前端获取该变量的值:
后台代码:
```
public string varName = "Hello World!";
protected void Page_Load(object sender, EventArgs e)
{
// ...
}
[WebMethod]
public string GetVarName()
{
return varName;
}
```
前端JavaScript代码:
```
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var varName = xhr.responseText;
console.log(varName);
}
};
xhr.open("POST", "Default.aspx/GetVarName", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send();
```
使用AJAX调用后台方法的步骤如下:
1. 在后台C#代码中定义一个公共方法,使用[WebMethod]特性标记该方法。
2. 在前端JavaScript代码中使用XMLHttpRequest对象向后台发送请求,调用该方法。
例如,假设后台定义了一个公共方法GetMessage,需要在前端调用该方法并获取返回值:
后台代码:
```
[WebMethod]
public string GetMessage()
{
return "Hello World!";
}
```
前端JavaScript代码:
```
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var message = xhr.responseText;
console.log(message);
}
};
xhr.open("POST", "Default.aspx/GetMessage", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send();
```
以上是使用AJAX获取后台C#变量和调用后台方法的基本步骤,具体实现需要根据具体业务场景和技术架构进行调整和优化。
阅读全文