使用字符串作为div将innerHTML值设置为来自代码的div元素ID
问题描述:
我在我的.aspx
页面中使用下面的代码。使用字符串作为div将innerHTML值设置为来自代码的div元素ID
<form runat="server">
<div style="background:#ffffff;height:1150px;width:100%">
<center>
<table class="calendar-table" cellpadding="0" cellspacing="2" border="1">
<tr>
<td>
<div class="cell">
<div class="cell-day">
<asp:Label ID="label_day_11" runat="server" Text=""></asp:Label>
</div>
<div id="event_11" runat="server">
</div>
</div>
</td>
</tr>
<table>
</center>
</div>
</form>
在我的原代码,我总共将有6行7列和标签的行和列将从11
去,直到67
以矩阵的形式。在这里,我想从代码中设置的label_day_11
背后的价值用C#和我使用下面的代码,
int i = 1; // 1 till 6 rows
int j = 1; // 1 till 7 columns
string dayId = "label_day_" + i.ToString() + j.ToString();
Label day = FindControl(dayId) as Label;
day.Text = "Monday";
上面的代码工作正常。但是现在我想为event_11
div元素指定一个innerHTML
值。但我不知道如何获得该ID以及如何设置innerHTML。有没有办法使用C#中的字符串访问div
控件,然后为它设置一个innerHTML值?在asp:Label
的情况下,我使用控制值作为Label
,但不知道如何获得正常的html div元素的控制。
我试过下面的代码,但它不适合我。
string eventId = "event_" + i.ToString() + j.ToString();
Control div = FindControl(eventId);
StringWriter sw = new StringWriter();
HtmlTextWriter w = new HtmlTextWriter(sw);
div.RenderControl(w);
我不知道如何继续使用这个。任何解决方案
答
我认为它应该工作,如果你把它投到HtmlGenericControl
。
HtmlGenericControl div = FindControl(eventId) as HtmlGenericControl;
div.InnerHtml = "your inner html";
+0
尼斯它的工作。 +1 :) –
我想你应该寻找ID的clientid ASP – mplungjan