RegisterOnSubmitStatement после клиентской проверки

Я должен вставить немного 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"); 
} 
14
задан Jared 1 June 2009 в 20:02
поделиться

2 ответа

После некоторых исследований в Интернете и поигравшись с ним, я понял, что вы можете сделать это, подключившись к событию SaveStateComplete страницы. Я предполагаю, что оператор отправки проверки регистрируется во время события PreRender, поэтому, если вы зарегистрируете его после этого (в событии SaveStateComplete), вы можете получить его позже.

Вам необходимо перерегистрировать его, но это не имеет большого значения, потому что я не полагаюсь на ViewState для своего JS.

5
ответ дан 1 December 2019 в 14:33
поделиться

правильно, 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"); 
}
8
ответ дан 1 December 2019 в 14:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: