如何使用C#更新多个div内容?
在API的Get响应中,我需要相应地更新div。 下面是我的HTML代码如何使用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=
<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(链接此处)。此外,控制器中的方法不能无效,因为需要将数据传递给视图。