ASP.NET按钮不呈现ID - Sharepoint Web部件

时间:2012-06-19 23:26:59

标签: asp.net .net sharepoint button web-parts

我有一个sharepoint web部件,我以编程方式向页面添加一个按钮。按钮呈现时,它没有名称或ID。我在Web部分的代码中执行以下操作:

public class ChartControl : WebPart
{
    protected Button BubbleChartApplyButton;

    protected override void CreateChildControls()
    {
        BubbleChartApplyButton = new Button {Text = "Apply This"};
    }

    protected override void RenderWebPart(HtmlTextWriter output)
    {
        BubbleChartApplyButton.RenderControl(output);
    }
}

这就是呈现的内容:

    <div WebPartID="4844c2e5-2dd5-437b-a879-90c2e1e21f69" HasPers="false" id="WebPartWPQ2" width="100%" class="ms-WPBody ms-wpContentDivSpace" allowDelete="false" style="" >
         <input type="submit" value="Apply This" />

...more output here...
</div>

注意输入标签是如何呈现的,没有名称也没有id ...我希望看到像ID =“ctl00 $ m $ g_2d506746_d91e_4508_8cc4_649e463e1537 $ ctl13”之类的内容。

关于为什么按钮控件没有使用.NET通常生成的名称和ID进行渲染的任何想法?

谢谢,

赖安

2 个答案:

答案 0 :(得分:1)

呃,这是一个我忽略的简单事情。所以我创建控件并将其呈现给输出,以便在呈现页面时显示。但是,为了将它拨入控制树,以便ASP.NET分配ID,我可以将其连接到事件处理程序,我必须专门将其添加到控制树。

所以我也需要这样做:

protected override void CreateChildControls()
{
    BubbleChartApplyButton = new Button {Text = "Apply This"};

    Controls.Add(BubbleChartApplyButton) //<== ADD TO THE CONTROL TREE BEAVIS!
}

答案 1 :(得分:0)

你有没有试过像:

BubbleChartApplyButton = new Button {Text = "Apply This", ID = "myButtonID"};