IButtonControl和PostBackUrl

时间:2011-10-11 14:17:24

标签: asp.net postbackurl

我正在尝试在自定义按钮控件上实现IButtonControl,该控件不是从普通的ASP.NET按钮派生的。我已经实现了所有事件和属性,并且从服务器到客户端。

问题是PostBackUrl仅在表单上有常规按钮时才有效。我的工作如下。

theForm.action = this._postbackUrl;
 __doPostBack(this._uniqueID, v);
 } catch (ex) { }

但是,如果我在页面上只有我的按钮并单击它,那么我将获得MAC ViewState验证失败。大概这是因为网站没有准备好按我的按钮改变它,所以认为这是不安全的。

有没有人知道解决这个问题的方法。我查看了ASP按钮代码,他们做了几件事,其中一些是内部的。

这些都不起作用。它们包括:

this.Page.ClientScript.RegisterForEventValidation(postbackOptions);
 // where postbackOptions is built based upon my control
m = Page.GetType().GetMethod("RegisterWebFormsScript", BindingFlags.Instance | BindingFlags.NonPublic);
        m.Invoke(Page, new object[] { });
        m = Page.GetType().GetMethod("RegisterPostBackScript", 

BindingFlags.Instance | BindingFlags.NonPublic);
m.Invoke(Page, new object[] { });

最后两个是让WebForms_DoPostbackWithOptions脚本出现。

有没有人遇到类似的问题或有一些想法?

请谢谢你, 戴夫

0 个答案:

没有答案