【问题标题】:updating labels asp.net c#更新标签asp.net c#
【发布时间】:2013-02-12 10:31:52
【问题描述】:

我在我的 aspx 页面中有一个 <asp:Label ID="ceckSlide"/>,并希望在我的模型中不断更新这个标签,以便标签根据 for 循环不断变化。我想知道这是否可能,如果可以,我将如何去做,

从伪代码可以看出,我在aspx页面调用add services方法,想按照createServices类中的for循环更新表格。

类创建服务

private int number = 0
priavte int numbercount = 0;

public void addservices()
{
   numbercount = services.count;

   for(int i = 0;i<service.count;i++)
   {
      ///add services 
      number = i+1;
   }
}

public int GetNumber()
{
    int number= number;
    return slide;
}
public int GetSlideCount()
{

    return numberCount;
}

defefaul.aspx

protected void Confirm_Click(object sender, EventArgs e)
{
   var ser =  new CreateServices();
   var addSer = ser.addservices()
}

// label get updated in this method in the aspx file 
protected void GetSlideNumber()
{

    var ser =  new CreateServices();
    int number= ser .GetSlideNumber();
    int numberCount = ser.GetSlideCount() + 1;

    ceckSlide.Text = slide.ToString() +" Of "+slideCount;
 }

【问题讨论】:

  • 客户端请求页面,而不是服务器更新客户端。
  • 您能否包含更多代码并解释您想要实现的具体目标?
  • @TimSchmelter,不一定是真的,见Comet :)
  • 我添加了更多细节

标签: c# asp.net


【解决方案1】:

对您来说最简单的方法是将您的标签放在 UpdatePanel (AJAX) 中,并在您的页面中放置一个客户端计时器 (javascript),每隔几秒(或任何您希望的)发送一个更新请求。在服务器端,只需异步更新您的模型,更新标签值的函数应该直接从模型中读取。希望对您有所帮助。

【讨论】:

  • 看看这对你有没有帮助:stackoverflow.com/questions/1732553/…
  • 这并没有真正帮助,因为我仍然不明白,这将与 thw for loop 一起使用吗
  • 为您的问题添加更多细节。我们不知道您的标签显示什么,它在哪里更新以及您的 for 循环在这一切中的作用。
  • 我给你的细节够不够
  • +1 @user2061088 - 如果您想在客户端的浏览器中使用“实时”表(用户可以“实时”看到更新),那么这是一个很好的建议解决问题。 SO 并不是一个代码交换网站,所以这可能是您会得到的最佳答案。
【解决方案2】:

您可能想看看PokeIn Library - ASP.NET WebSocket & Comet Ajax Library (Reverse Ajax - Server Push)。

来自documentation webpage:

... PokeIn 从 .NET 类生成动态 JavaScript 代码,让 您调用它们就像从同一侧调用方法一样。

【讨论】:

  • 我认为对请求/响应周期进行更多的混淆对那些一开始似乎不理解它的人没有任何好处。
【解决方案3】:

我认为问题在于您不太了解 HTTP 协议的工作原理。 HTTP 使用请求/响应模型,其中客户端(通常是 Web 浏览器)发出请求,然后服务器响应。

实现您所描述的自动更新功能时使用的典型架构正是@dotNET 所描述的 - 客户端页面有一些 javascript 会以设定的时间间隔自动触发请求。服务器以更新的状态进行响应。您可以根据需要将此间隔设置得尽可能小,但较短的间隔有时会导致机器速度慢或互联网连接速度慢的用户出现问题。

虽然可以在不了解请求/响应周期的情况下开发简单的 Web 应用程序,但更高级的开发(如您所描述的)实际上需要您对 Web 架构有透彻的了解。如果您不了解 HTTP 协议,我建议您花一些时间来学习它 - 少量的投资将在您的代码的有效性和效率方面带来巨大的收益。 REST 是一个很好的起点,因为它的建议最符合 HTTP 规范。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多