Я должен вставить немного JavaScript в процесс, когда Веб-форма отправлена, но после того, как клиентская проверка происходит.
RegisterOnSubmitStatement, кажется, помещает JavaScript перед проверкой.
Кто-либо знает, как заставить это представлять после?
Решение нашло: В веб-элементе управления я поместил что-то вроде этого:
protected override OnInit(EventArgs e) {
Page.SaveStateComplete += new EventHandler(RegisterSaveStuff);
base.OnInit(e);
}
void RegisterSaveStuff(object sender, EventArgs e) {
Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "name", "JS code here");
}
После некоторых исследований в Интернете и поигравшись с ним, я понял, что вы можете сделать это, подключившись к событию SaveStateComplete страницы. Я предполагаю, что оператор отправки проверки регистрируется во время события PreRender, поэтому, если вы зарегистрируете его после этого (в событии SaveStateComplete), вы можете получить его позже.
Вам необходимо перерегистрировать его, но это не имеет большого значения, потому что я не полагаюсь на ViewState для своего JS.
правильно, RegisterOnSubmitStatement НЕ РАБОТАЕТ в функции инициализации. Он должен вызываться после в цикле страницы. Я думаю, что правильное место для этого:
"PreRenderComplete"
protected override OnInit(EventArgs e)
{
Page.PreRenderComplete+= new EventHandler(Page_PreRenderComplete);
base.OnInit(e);
}
void Page_PreRenderComplete(object sender, EventArgs e)
{
Page.ClientScript.RegisterOnSubmitStatement(typeof(Page), "name", "JS code here");
}