IButtonControl и PostBackUrl - PullRequest
       26

IButtonControl и PostBackUrl

1 голос
/ 11 октября 2011

Я пытаюсь реализовать 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.

Кто-нибудь сталкивался с подобными проблемами или есть идеи?

Пожалуйста, и спасибоДэйв

...