我正在尝试通过单击按钮(使用Control.Render
)将向导控件呈现为 HTML 字符串。我已经使用以下内容禁用了事件验证,这可以正常工作并使我能够将整个页面呈现为字符串。我在包含向导的用户控件中执行此操作:
protected void Page_Init(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] != null
&& Request.Form["__EVENTTARGET"] == btnPrint.ClientID.Replace("_", "$"))
{
Page.EnableEventValidation = false;
}
}
虽然这可行,但我想自己呈现向导控件。我知道当我尝试自行呈现此控件(不带表单标签)时,我可以重写Page.VerifyRenderingInServerForm
以防止页面引发异常,如下所示:runat="server"
public override void VerifyRenderingInServerForm(Control control)
{
// base.VerifyRenderingInServerForm(control);
}
但是,我不想完全覆盖它。有没有办法可以动态绕过它:
- 对于单击相关按钮的特定 PostBack,或者...
- 专门针对向导控件?