未找到动态生成的页面控件。 [英] Dynamic generated page controls not found.

查看:59
本文介绍了未找到动态生成的页面控件。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法找到页面控件(复选框,单选按钮,图像)。

请帮帮我。我的代码如下。





HTML

I am unable to found Page controls (Check boxes,Radio button,Images).
Please help me.my code is below.


HTML

<div id="divLeftpane"   runat="server" class="product-left-menu"></div>










private void PopulateLeftSearchPane()
    {

        SearchDataContext objGetAspects = new SearchDataContext(CommonFunctions.getConnectionString());
        var Aspects = from c in objGetAspects.RV_GetAspects()
                      select new
                      {
                          c.AspectName,
                          c.AspectID,
                          c.AspectContext,
                          c.AspectDescription,
                          c.AspectType

                      };
        if (Aspects != null)
        {

            Button button = new Button();

            foreach (var cn in Aspects)
            {

                //open div group menu
                HtmlGenericControl divgroupmenu = new System.Web.UI.HtmlControls.HtmlGenericControl("divgroupmenu");
                divgroupmenu.Attributes.Add("class", "group-menu");

                //open div accordion heading
                HtmlGenericControl divaccordionheading = new System.Web.UI.HtmlControls.HtmlGenericControl("divaccordionheading");
                divaccordionheading.Attributes.Add("class", "accordion-heading");

                //Add Hyperlink for header
                HtmlAnchor hlheader = new HtmlAnchor();
                hlheader.HRef = "#";
                hlheader.InnerText = cn.AspectName;

                divaccordionheading.Controls.Add(hlheader);

                //open div accordion inner
                HtmlGenericControl divaccordioninner = new System.Web.UI.HtmlControls.HtmlGenericControl("divaccordioninner");
                divaccordioninner.Attributes.Add("class", "accordion-inner");

               ShowData(cn.AspectID, cn.AspectName,cn.AspectDescription, cn.AspectContext, cn.AspectType, divgroupmenu, divaccordionheading, divaccordioninner);


            }

        }

    }
    public void ShowData(Int64 AspectID, String strAspectName,String strAspectDescription, String strAspectContext, String strAspectType, HtmlGenericControl divgroupmenu, HtmlGenericControl divaccordionheading, HtmlGenericControl divaccordioninner)
    {

        Literal lculopen = new Literal();
        lculopen.Text = String.Empty;
        if (strAspectContext == "CHECK")
        {
            lculopen.Text = "<ul class="stone-type leftdrop">";
        }
        else if (strAspectContext == "OPTION")
        {
            lculopen.Text = "<ul class="ring-style leftdrop">";
        }
        else if (strAspectContext == "IMAGEMANY"  && strAspectDescription.Contains("SEQURE"))
        {
            lculopen.Text = "<ul class="sequremultiple leftdrop">";
        }
        else if (strAspectContext == "IMAGESINGLE" && strAspectDescription.Contains("SEQURE"))
        {
            lculopen.Text = "<ul class="sequresingle leftdrop">";
        }
        else if (strAspectContext == "IMAGEMANY"  && strAspectDescription.Contains("CIRCLE"))
        {
            lculopen.Text = "<ul class="circlemultiple leftdrop">";
        }
        else if (strAspectContext == "IMAGESINGLE" && strAspectDescription.Contains("CIRCLE"))
        {
            lculopen.Text = "<ul class="circlesingle leftdrop">";
        }
        else
        {
            lculopen.Text = "<ul class="stone-type leftdrop">";
        }

        divaccordioninner.Controls.Add(lculopen);

        SearchDataContext objGetAspects = new SearchDataContext(CommonFunctions.getConnectionString());
        var Aspects = from c in objGetAspects.RV_GetTraitValue(AspectID)
                      select new
                      {
                          c.AspectID,
                          c.TraitID,
                          c.ValueName
                      };


        foreach (var cn in Aspects)
        {

            if (strAspectContext == "CHECK")
            {
                Literal lcliopen = new Literal();
                lcliopen.Text = "<li>";
                divaccordioninner.Controls.Add(lcliopen);

                UpdatePanel myupdpnl = new UpdatePanel();
                myupdpnl.ID = "upnl" + cn.AspectID + "_" + cn.TraitID;

                CheckBox chk = new CheckBox();
                chk.ID = "chktrait" + cn.AspectID + "_" + cn.TraitID;
                //string uniqueID = System.Guid.NewGuid().ToString().Substring(0, 5);
                chk.Text = cn.ValueName;
                chk.Attributes.Add("AspectID", cn.AspectID.ToString());
                chk.Attributes.Add("TraitID", cn.TraitID.ToString());
                chk.AutoPostBack = false;
                //CheckBox chk = (CheckBox)ctrl;
              //  chk.CheckedChanged += new EventHandler(CheckBox_CheckChanged);
               // chk.CheckedChanged += new EventHandler(this.CheckBox_Click);
                chk.Attributes.Add("onchange", "Javascript:return CallSearchResults('"+ chk.ID  + "','"  + cn.AspectID +  "','"  + cn.TraitID + "','"  + cn.ValueName + "'"    + ");");
                myupdpnl.ContentTemplateContainer.Controls.Add(chk);
                //myupdpnl.ContentTemplateContainer.Controls.Add(chk);

                //divaccordioninner.Controls.Add(chk);
                divaccordioninner.Controls.Add(myupdpnl);


                Literal lcliclose = new Literal();
                lcliclose.Text = "</li>";
                divaccordioninner.Controls.Add(lcliclose);

            }
            else if (strAspectContext == "OPTION")
            {
                Literal lcliopen = new Literal();
                lcliopen.Text = "<li>";
                divaccordioninner.Controls.Add(lcliopen);

                RadioButton rdbtn = new RadioButton();
                rdbtn.ID = "rdbtntrait" + cn.AspectID + "_" + cn.TraitID;
                rdbtn.Text = cn.ValueName;
                rdbtn.AutoPostBack = false;
                rdbtn.GroupName = "rdbtntrait" + cn.AspectID;
                divaccordioninner.Controls.Add(rdbtn);

                Literal lcliclose = new Literal();
                lcliclose.Text = "</li>";
                divaccordioninner.Controls.Add(lcliclose);

            }
            else if (strAspectContext == "IMAGEMANY")
            {

                Literal lcliopen = new Literal();
                lcliopen.Text = "<li>";
                divaccordioninner.Controls.Add(lcliopen);

                //Add Hyperlink 
                HtmlAnchor htmlanchor = new HtmlAnchor();
                //htmlanchor.HRef = "#";

                Image img = new Image();
                img.ID = "imgtrait" + cn.AspectID + "_" + cn.TraitID;
                img.AlternateText = cn.ValueName;
                htmlanchor.Controls.Add(img);

                CommonFunctions objCommonFunctions = new CommonFunctions();
                String StrAspectIDTraitID = cn.AspectID + "-" + cn.TraitID;
                String imgtraitcons = CommonFunctions.searchImageFromBlob(StrAspectIDTraitID, objCommonFunctions.GetSystemVariables(CommonFunctions.SystemVariables.DataConnectionString), objCommonFunctions.GetSystemVariables(CommonFunctions.SystemVariables.traitconContainer)); //searchImageFromBlob(cn.ContentID.ToString());
                img.ImageUrl = imgtraitcons;
                divaccordioninner.Controls.Add(htmlanchor);
             
                Literal lcliclose = new Literal();
                lcliclose.Text = "</li>";
                divaccordioninner.Controls.Add(lcliclose);


            }
            else if (strAspectContext == "IMAGESINGLE")
            {

                Literal lcliopen = new Literal();
                lcliopen.Text = "<li>";
                divaccordioninner.Controls.Add(lcliopen);

                //Add Hyperlink 
                HtmlAnchor htmlanchor = new HtmlAnchor();
                //htmlanchor.HRef = "#";

                Image img = new Image();
                img.ID = "imgtrait" + cn.AspectID + "_" + cn.TraitID;
                img.AlternateText = cn.ValueName;
                htmlanchor.Controls.Add(img);

                CommonFunctions objCommonFunctions = new CommonFunctions();
                String StrAspectIDTraitID = cn.AspectID + "-" + cn.TraitID;
                String imgtraitcons = CommonFunctions.searchImageFromBlob(StrAspectIDTraitID, objCommonFunctions.GetSystemVariables(CommonFunctions.SystemVariables.DataConnectionString), objCommonFunctions.GetSystemVariables(CommonFunctions.SystemVariables.traitconContainer)); //searchImageFromBlob(cn.ContentID.ToString());
                img.ImageUrl = imgtraitcons;
                divaccordioninner.Controls.Add(htmlanchor);
              
                Literal lcliclose = new Literal();
                lcliclose.Text = "</li>";
                divaccordioninner.Controls.Add(lcliclose);


            }
            else
            {

            }

        }

        Literal lculclose = new Literal();
        lculclose.Text = "</ul>";
        divaccordioninner.Controls.Add(lculclose);
        //close div divaccordionheading
        divaccordionheading.Controls.Add(divaccordioninner);
        //close div divgroupmenu
        divgroupmenu.Controls.Add(divaccordionheading);
        //close div divLeftpane
        divLeftpane.Controls.Add(divgroupmenu);
    }

    private void ProcessControls(Control ctrlContainer)
    {
        foreach (Control ctrl in ctrlContainer.Controls)
        {
            if (ctrl.GetType() == typeof(TextBox))
            {
                // Do whatever to the TextBox
            }

            else if (ctrl.GetType() == typeof(CheckBox))
            {
                // Do whatever to the TextBox
                Response.Write(ctrl.UniqueID);

               
               
            }
            else if (ctrl.GetType() == typeof(RadioButton))
            {
                // Do whatever to the TextBox
            }
            else if (ctrl.GetType() == typeof(Image))
            {
                // Do whatever to the TextBox
            }

            if (ctrl.HasControls())
                ProcessControls(ctrl);
        }
    }

protected void btnSearchResult_Click(object sender, EventArgs e)
   {

       ProcessControls(divLeftpane);
      // PopulateLeftSearchPane();
   }

推荐答案

看看这个



http://techbrij.com/create-dynamic-dropdownlists-in-asp-net [ ^ ]


这篇关于未找到动态生成的页面控件。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆