使用字符串作为div将innerHTML值设置为来自代码的div元素ID

使用字符串作为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); 

我不知道如何继续使用这个。任何解决方案

+0

我想你应该寻找ID的clientid ASP – mplungjan

我认为它应该工作,如果你把它投到HtmlGenericControl

HtmlGenericControl div = FindControl(eventId) as HtmlGenericControl; 
div.InnerHtml = "your inner html"; 

https://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlgenericcontrol(v=vs.110).aspx

+0

尼斯它的工作。 +1 :) –