我的代码中有以下行
HtmlControl divstatus = (HtmlControl)GridView1.Rows[j].FindControl("divstatus");
和我的.aspx
<div style="width:70px;" id="divStatus" runat="server"><%# Eval("DscStatus")%></div>
如何使用HtmlControl类在代码隐藏中获取div的值?
我的网格视图太大了,所以我只发布一部分
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="100%" CellPadding="4"
EnableModelValidation="True" ForeColor="#333333">
<FooterStyle BackColor="#990000" ForeColor="White" Font-Bold="True" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Chamado">
<ItemTemplate>
<div style="width:30px;">
<a href='responder.aspx?cod=<%# Eval("Codigo") %>&sta=<%# Eval("StatusTicket_Id") %>&mot=<%# Eval("MotivoTicket_Id") %>'>
<%# Eval("Codigo") %>
</a>
<%# montaAnexo(Eval("Anexo").ToString())%>
</div>
</ItemTemplate>
</asp:TemplateField>
答案 0 :(得分:1)
以这种方式更新你的行
HtmlControls.HtmlContainerControl divstatus = (HtmlControls.HtmlContainerControl)GridView1.Rows[j].FindControl("divstatus");
然后访问其innerText
divstatus.InnerText
答案 1 :(得分:1)
编辑:我没有查看最近添加GridView TemplateField样式元素的编辑内容。这可能会影响我的示例,因此我会在适当时更新。
我建议在代码隐藏中调用一个函数,该函数返回一个包含整个<div>
的HTML字符串。否则你就会在灌木丛中殴打。
假设DscStatus是一个字符串值:
标记:
<%# RenderStatusDiv(Eval("DscStatus") %>
代码:
protected string RenderStatusDiv(object DscStatus)
{
string strReturn = String.Empty;
if (DscStatus != null)
{
string strDscStatus = (string)DscStatus;
if (intDscStatus = "OK")
{
strReturn = "<div style=\"width:70px;\" id=\"divStatus\" runat=\"server\">" + strDscStatus + "</div>";
}
else
{
strReturn = "<div style=\"width:70px;color:red;\" id=\"divStatus\" runat=\"server\">" + strDscStatus + "</div>";
}
}
return strReturn;
}
答案 2 :(得分:0)
您必须通过ajax或某些隐藏的表单字段发回一些数据。
答案 3 :(得分:-1)
// repeat template section start. Example <ItemTemplate>
<%
string color = "blue";
if (Eval("DscStatus").Equals(1)) { color = "red"; }
%>
<tr style="color: <%# color %>">
<td>
....
<div style="width:70px;" id="divStatus" runat="server"><%# Eval("DscStatus")%></div>
....
</td>
</tr>
// end template section end: Example </ItemTemplate>