简体   繁体   English

如何使用C#更新多个div内容?

[英]How to update multiple div contents using C#?

In a Get Response from an API, I need to update the div's accordingly. 在从API获取响应中,我需要相应地更新div。 Below is my HTML Code 以下是我的HTML代码

<div class="col-md-2 mb-4">
    <div class="card mb-4" id="roomName_1" runat="server">
        <div class="card-header text-center">
            Room 1
        </div>
        <div class="card-body" style="background-color:#ff0000;color:white;">
            <p>
                <asp:Literal Text="Organizer" runat="server" ID="organiser_1" />
                <br />
                <label id="from_1">From</label>
                -
                <label id="to_1">To</label>
                <br />
                <asp:Literal Text="Subject" runat="server" ID="subject_1" />
            </p>
        </div>
    </div>
</div>

There are 24 rooms like this, and for each room I have to update Organizer, From, To, Subject which I get from a GET Request. 共有24个这样的房间,对于每个房间,我必须更新从GET请求中获得的管理器,发件人,收件人,主题

private void GetRoom(string uri) {
    var request = WebRequest.Create(uri);
    string text;
    var response = (HttpWebResponse)request.GetResponse();
    request.ContentType = "application/json; charset=utf-8";
    using(var sr = new StreamReader(response.GetResponseStream())) {
        text = sr.ReadToEnd();
        List<RoomConfigurationViewInfo> roomObject = JsonConvert.DeserializeObject < List<RoomConfigurationViewInfo>> (text);
        foreach(var value in roomObject) {
            Response.Write(value.Organizer);
            Response.Write(value.Subject);
        }

    }
}

So, Is it possible to Update multiple Div's using C#? 因此,是否可以使用C#更新多个Div? & if not then how can I achieve this. &如果没有,那我该如何实现呢?

Please suggest. 请提出建议。

I found a way that you can achieve this: 我找到了一种可以实现此目的的方法:

At first, add ID to your first tag: <div id="rooms" runat="server" class="col-md-2 mb-4"> 首先,将ID添加到第一个标签: <div id="rooms" runat="server" class="col-md-2 mb-4">

Now in code behind, you can try this: 现在在后面的代码中,您可以尝试以下操作:

private void GetRoom(string uri) 
{
  var request = WebRequest.Create(uri);
  string text;
  var response = (HttpWebResponse)request.GetResponse();
  request.ContentType = "application/json; charset=utf-8";
  using(var sr = new StreamReader(response.GetResponseStream()))
  {
    text = sr.ReadToEnd();
    List<RoomConfigurationViewInfo> roomObject = JsonConvert.DeserializeObject < List<RoomConfigurationViewInfo>> (text);

    rooms.InnerHtml = "";

    for(int i = 0; i < roomObject.Count; i++) 
    {
        string strOrganizer = roomObject[i].Organizer;
        string strSubject = roomObject[i].Subject;
        string strFrom = roomObject[i].From;
        string strTo = roomObject[i].To;

        rooms.InnerHtml += "<div class=\"card mb-4\">"
                         + "<div class=\"card-header text-center\">"
                         + "Room " + i + "";
                         + "</div>"
                         + "<div class=\"card-body\" style=\"background-color:#ff0000;color:white;\">"
                         + "<p>"
                         + "<asp:Literal Text=\"" + strOrganizer "\" runat=\"server\" ID=\"organiser_" + i + "\"/>"
                         + "<br />"
                         + "<label>" + strFrom + "</label>"
                         + "-"
                         + "<label>" + strTo + "</label>"
                         + "<br />"
                         + "<asp:Literal Text=\"" + strSubject + "\" runat=\"server\" ID=\"subject_" + i + "\" />"
                         + "</p>"
                         + "</div>"
                         + "</div>";
    }
  }
}

I hope it helps you 希望对您有帮助

It depends if you are doing it dynamically or not. 这取决于您是否动态进行。 If you are simply loading the page and updating the divs, pass it as a variable and then iterate through it. 如果您只是加载页面并更新div,请将其作为变量传递,然后对其进行迭代。

Your code on your page would be something like this: 您页面上的代码将如下所示:

<% foreach (var myItem in g) { %>
  <p>
      <%= myItem.Organizer%>
      <br />
      <label id="from_1">From</label>
      -
      <label id="to_1">To</label>
      <br />
      <%= myItem.Subject%>
  </p>
<% } %>

If you are trying to do it dynamically, the commenter above is correct and you would have to do it through jQuery/Javascript. 如果您尝试动态执行此操作,则上面的注释器是正确的,您将必须通过jQuery / Javascript执行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM