C# 如何更改<;的HTML代码;asp:面板>;在回发服务器端?

C# 如何更改<;的HTML代码;asp:面板>;在回发服务器端?,c#,.net,webforms,C#,.net,Webforms,假设我在.cs上的Page\u Load()“生成”这个HTML元素: foreach(对象中的对象对象) { Literal boxStart=new Literal(); boxStart.Text=“”; Literal boxEnd=new Literal(); boxEnd.Text=“boxStart.Attributes[“class”]=“someClass”这可以通过创建div作为服务器端控件而不是文本来完成。此标记可以通过以下方式创建: 现在,每个隐藏字段直接嵌套在服务器端控

假设我在.cs上的
Page\u Load()
“生成”这个HTML元素:

foreach(对象中的对象对象)
{
Literal boxStart=new Literal();
boxStart.Text=“”;
Literal boxEnd=new Literal();

boxEnd.Text=“boxStart.Attributes[“class”]=“someClass”这可以通过创建
div
作为服务器端控件而不是文本来完成。此标记可以通过以下方式创建:

现在,每个隐藏字段直接嵌套在服务器端控件中,表示
div
,可以通过简单的
Parent
属性访问该控件:

protected void cmdCerca_Click(object sender, EventArgs e)
{
    foreach (HtmlGenericControl div in panelCategorieGuida.Controls.OfType<HtmlGenericControl>())
    {
        HiddenField hf = div.Controls.OfType<HtmlGenericControl>()[0]; //leaving out all the exceptions handling
        if (String.Equals(hf.Value, "1"))
        {
            div.Attributes["class"] = "option-box-selected";
        }
    }
}
protectedvoid cmdCerca\u单击(对象发送方,事件参数e)
{
foreach(panelCategorieGuida.Controls.OfType()中的HtmlGenericControl div)
{
HiddenField hf=div.Controls.OfType()[0];//省略所有异常处理
if(字符串等于(hf.Value,“1”))
{
div.Attributes[“类”]=“选择的选项框”;
}
}
}

Uhm,我想,但我需要从每个隐藏字段访问它…无法执行
hf.Parent().Attributes[“class”]=“someClass”
此外,现在的问题是:似乎PanelCategieguida.Controls.OfType()计数为0?我无法输入foreach…响应。写入(PanelCategieguida.Controls.count)数一数div的父控件的数量。似乎我无法浏览内部控制?该死…:(
FindControl
仅在单个级别的控制层次结构中工作,完全忘记了这一点。请参阅更新的帖子。至于
String.Equals
,这是比较.NET.1中字符串的正确方法)对于IEnumerable,我无法使用[0]进行访问,但好吧,我使用LastOrDefault();2)来实现我所知道的==调用.Equals,那么有什么区别呢?我(在阅读代码时)使用==,老实说:)
protected void cmdCerca_Click(object sender, EventArgs e)
{
    foreach (HiddenField hf in panelCategorieGuida.Controls.OfType<HiddenField>())
    {

    }
}
foreach (Object obj in Objects)
{
    HtmlGenericControl div = new HtmlGenericControl("div");
    div.Attributes["class"] = "option-box";

    HiddenField hf = new HiddenField();
    hf.Value = "0";
    hf.ID = "category" + obj.ID;

    div.Controls.Add(hf);
    panelCategorieGuida.Controls.Add(div);
}
protected void cmdCerca_Click(object sender, EventArgs e)
{
    foreach (HtmlGenericControl div in panelCategorieGuida.Controls.OfType<HtmlGenericControl>())
    {
        HiddenField hf = div.Controls.OfType<HtmlGenericControl>()[0]; //leaving out all the exceptions handling
        if (String.Equals(hf.Value, "1"))
        {
            div.Attributes["class"] = "option-box-selected";
        }
    }
}