C# 从代码隐藏任务获取对div的访问权限
我需要创建一个应用程序,它应该能够从代码隐藏中操作div内容。但是我需要在不重新加载页面的情况下更新这个div。我使用的函数是基于任务的。我只是从这项技术开始。这是我的密码:C# 从代码隐藏任务获取对div的访问权限,c#,asp.net,task,code-behind,C#,Asp.net,Task,Code Behind,我需要创建一个应用程序,它应该能够从代码隐藏中操作div内容。但是我需要在不重新加载页面的情况下更新这个div。我使用的函数是基于任务的。我只是从这项技术开始。这是我的密码: public partial class _Default : System.Web.UI.Page { public static System.Web.UI.HtmlControls.HtmlGenericControl elem = null; protected v
public partial class _Default : System.Web.UI.Page
{
public static System.Web.UI.HtmlControls.HtmlGenericControl elem = null;
protected void Page_Load(object sender, EventArgs e)
{
elem = div1;
}
protected void Button1_Click(object sender, EventArgs e)
{
TaskClass c = new TaskClass ();
Task.Factory.StartNew(() => c.Execute());
}
}
class TaskClass
{
public async Task Execute()
{
_Default.elem.InnerHtml = "123";
}
}
<%@ Page Language="C#" AutoEventWireup="true" Async="true" CodeBehind="Page.aspx.cs" Inherits="Class1._Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form runat="server">
<div id="div1" style="border:1px solid; width:800px; height:200px;overflow:auto;" runat="server"></div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</form>
</body>
</html>
public分部类\u默认值:System.Web.UI.Page
{
public static System.Web.UI.HtmlControls.HtmlGenericControl elem=null;
受保护的无效页面加载(对象发送方、事件参数e)
{
elem=div1;
}
受保护的无效按钮1\u单击(对象发送者,事件参数e)
{
TaskClass c=新TaskClass();
Task.Factory.StartNew(()=>c.Execute());
}
}
类任务类
{
公共异步任务执行()
{
_Default.elem.InnerHtml=“123”;
}
}
问题是div内容没有改变。如果我尝试在不使用任务的情况下添加一些内容,它会起作用。有没有办法在一个项目中使用aspx和任务?我担心您想要做的事情比您预期的要复杂得多。网络通过请求和响应进行操作。通常,页面和服务器之间没有固定的连接。一旦你发送了响应,你就不能改变它,这就是为什么你的代码没有改变任何东西。有两种方法可以做你想做的事
感谢您的回复,我认为最快的方法是实现websocket(外部库)。我想用另一种方式来解决这个问题,但WebSocket似乎具有难以置信的通用性:)使用Signal而不是原始的Web套接字(当支持时,它可以在Web套接字上工作,API更容易)。此外,如果您可以容忍数据不更新的时间段(如15-20秒),则可以通过轮询轻松完成(即使使用update panel+timer polling而不编写JavaScript)