我有一个HtmlGenericControl
这是一个简单的与DIV runat=server
这种控制是嵌入驻留在多个页面上的ASCX的WebControl的内部。 在此的Page_Load元件由中继器即数据绑定到即页面的特定数据库中的数据填充。
我遇到的麻烦是似乎ASCX器WebControls不会很容易地阅读自己的元素的内容。
到目前为止,已发生故障: 我如何获得一个用户控件的HTML输出在.NET(C#)?
我正在寻找一种方式来获得一个按钮,点击里面的HtmlGenericControl的内容。 我会怎么做呢?
简化前面的问题。 检索ASCX特定元素的HTML
好吧,我得到它的工作(我想...)
产量
ASPX代码背后
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
ASPX标记
%@ Page EnableEventValidation="false" .....
后面的用户控件代码
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
var d = new QuestionsContext().GetQuestions();
this.repeater.DataSource = d;
this.repeater.DataBind();
}
}
protected void getContent_Click(object sender, EventArgs e)
{
var sb = new StringBuilder();
this.generic.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string s = sb.ToString();
this.Trace.Warn(Server.HtmlEncode(s));
this.message.Text = Server.HtmlEncode(s);
}
用户控制标记
<div runat="server" id="generic">
<asp:Repeater runat="server" ID="repeater" >
<ItemTemplate>
<%# Eval("QuestionText") %>
</ItemTemplate>
</asp:Repeater>
</div>
<br />
<asp:Button Text="Get content" ID="getContent" runat="server" OnClick="getContent_Click" />
<br />
<asp:Label ID="message" runat="server" />