且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

客户端验证后RegisterOnSubmitStatement

更新时间:2022-10-25 08:05:57

经过一番研究,并在网上与玩了,我想通了,你可以挂接到页面的SaveStateComplete事件做。我想验证提交语句preRender活动期间注册,所以如果你以后注册它(在SaveStateComplete事件),你可以得到它之后。

你必须重新注册,但因为我没有依靠的ViewState我的JS不是什么大不了的事。

I need to insert a bit of Javascript into the process when a Web Form is submitted, but after the client side validation takes place.

RegisterOnSubmitStatement seems to place the javascript before the validation.

Anyone know how to get it to render after?

Solution found: In a web control, I put something like this:

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"); 
}

After some research online and playing around with it, I figured out that you can do it by hooking into the Page's SaveStateComplete event. I guess the validation submit statement is registered during the PreRender event, so if you register it after that (in the SaveStateComplete event) you can get it afterward.

You do have to re-register it, but that's not a big deal because I'm not relying on ViewState for my JS.