簡體   English   中英

ASP.NET CheckBox AutoPostBack無法觸發

[英]ASP.NET CheckBox AutoPostBack not firing

我有一個要添加到服務器控件的復選框。 此復選框也未添加通常的onclick ...__ doPostBack()調用。 這導致它不會像我希望的那樣導致回發。

private void CreateGrid()
    {
        StringWriter sWriter = new StringWriter();
        HtmlTextWriter writer = new HtmlTextWriter(sWriter);

        GridItem.ID = "gridItem";

        GridHeader.ID = "gridHeader";
        GridHeader.Attributes["class"] += " no-select";

        GridCount.ID = "GridCount";

        GridDescription.ID = "GridDescription";

        if (cBoxID == null) tBox.Visible = false;
        else
        {
            tBox.ID = cBoxID;
            tBox.AutoPostBack = true;
            tBox.EnableViewState = true;
            ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(tBox);
            //tBox.CheckedChanged += new EventHandler(Force_Post_Back);
        }

        QuickFilter.Attributes["class"] = "quick-filter";
        QuickFilter.Attributes["title"] = "Quick Filter";

        IconMagnifier.Attributes["class"] = "icon-magnifier";

        GridResults.ID = "ltlGridResults";
        GridResults.ClientIDMode = ClientIDMode.Static;
        //GridResults.EnableViewState = false;

        QuickFilter.Controls.Add(IconMagnifier);

        GridHeader.Controls.AddAt(0, tBox);
        GridHeader.Controls.Add(QuickFilter);
        GridHeader.Controls.Add(GridCount);
        GridHeader.Controls.Add(GridDescription);

        GridItem.Controls.Add(GridHeader);
        GridItem.Controls.Add(GridResults);
    }

    protected void Page_PreRender(object sender, EventArgs e)
    {
        CreateGrid();
    }

    protected override void Render(HtmlTextWriter writer)

    {
        GridItem.RenderControl(writer);
    }

圖片生成的HTML

我在CreateGrid方法的底部添加了以下代碼:

this.Controls.Add(GridItem);

這使我可以將GridItem控件添加到當前控件中,從而允許回發。 即使您渲染了Checkbox,也沒有此調用,它完全是愚蠢的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM