我在.aspx
页面中使用以下代码。
<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
。在这里,我想使用C#从代码后面设置label_day_11
的值,为此我使用下面的代码,
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";
上面的代码工作正常。但是现在我想为innerHTML
div元素分配一个event_11
值。但我不知道如何获取该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);
我不知道如何继续使用它。任何解决方案?
答案 0 :(得分:2)
我认为如果你将其投放到HtmlGenericControl
,它应该会有用。
HtmlGenericControl div = FindControl(eventId) as HtmlGenericControl;
div.InnerHtml = "your inner html";