вы можете добавить обработчик событий на стороне клиента для события submit
формы. вы можете сгенерировать свой javascript при вызове Page_Load
в пользовательском элементе управления и использовать Page.ClientScript.RegisterStartupScript
, чтобы добавить его на страницу.
string key = "submitscript";
System.Text.StringBuilder script = new System.Text.StringBuilder();
script.Append("function mySubmitHandler(e) { \n");
script.Append(" // TODO my javascript here \n");
script.Append(" alert('derp'); \n");
script.Append("} \n");
script.AppendFormat("var f = document.getElementById('{0}'); \n", Page.Form.ClientID);
script.Append("if(f.addEventListener){\n");
script.Append(" f.addEventListener('submit', mySubmitHandler, false); \n");
script.Append("} else { \n");
script.Append(" f.attachEvent('onsubmit', mySubmitHandler); \n");
script.Append("} \n");
Page.ClientScript.RegisterStartupScript(this.GetType(), key, script.ToString(), true);
скрипт будет добавлен только один раз для каждой комбинации параметров type
и key
, поэтому вы можете иметь несколько пользовательских элементов управления на странице, и этот скрипт будет добавлен только один раз.