Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#更新多个div内容?_C#_Html_Asp.net_Webforms - Fatal编程技术网

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

如何使用C#更新多个div内容?,c#,html,asp.net,webforms,C#,Html,Asp.net,Webforms,在API的Get响应中,我需要相应地更新div。 下面是我的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=

在API的Get响应中,我需要相应地更新div。 下面是我的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>

1号房间


从…起 - 到

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

    }
}
private void GetRoom(字符串uri){
var request=WebRequest.Create(uri);
字符串文本;
var response=(HttpWebResponse)request.GetResponse();
request.ContentType=“application/json;charset=utf-8”;
使用(var sr=newstreamreader(response.GetResponseStream()){
text=sr.ReadToEnd();
List roomObject=JsonConvert.DeserializeObject(文本);
foreach(roomObject中的var值){
响应.写入(值.组织者);
响应。写入(值。主题);
}
}
}
那么,是否可以使用C#?&更新多个Div如果没有,我如何才能做到这一点


请提出建议。

我找到了一种方法,你可以做到这一点:

首先,将ID添加到第一个标记:

现在,在代码隐藏中,您可以尝试以下操作:

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>";
    }
  }
}
private void GetRoom(字符串uri)
{
var request=WebRequest.Create(uri);
字符串文本;
var response=(HttpWebResponse)request.GetResponse();
request.ContentType=“application/json;charset=utf-8”;
使用(var sr=newstreamreader(response.GetResponseStream())
{
text=sr.ReadToEnd();
List roomObject=JsonConvert.DeserializeObject(文本);
rooms.InnerHtml=“”;
for(int i=0;i”
+“+strFrom+”
+ "-"
+“”+strTo+“”
+“
” + "" +“

” + "" + ""; } } }

我希望它对您有所帮助

这取决于您是否在动态地进行操作。如果只是加载页面并更新div,请将其作为变量传递,然后对其进行迭代

页面上的代码如下所示:

<% 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>
<% } %>



从…起 - 到


如果您试图动态地执行此操作,那么上面的注释是正确的,您必须通过jQuery/Javascript执行此操作。

您不能。您需要在客户端使用AJAX(链接此处)。此外,控制器中的方法不能无效,因为需要将数据传递给视图。