使用ActionlessForm.cs重写Form后使得验证控件失效的解决方法
2006-08-25 17:32
1001 查看
ActionlessForm.cs
1public class Form : HtmlForm
2 protected override void RenderAttributes(HtmlTextWriter writer)
4 writer.WriteAttribute("name", Name);
6 base.Attributes.Remove("name");
7
8 writer.WriteAttribute("method", Method);
9 base.Attributes.Remove("method");
10
11 Attributes.Render(writer);
12
13 base.Attributes.Remove("action");
14
15 if (base.ID != null)
16 writer.WriteAttribute("id", ClientID);
18 }
19 }
20 }
目的主要是将Form中的Action去掉,让Url Rewrite在postback的时候能在IHttpModule中找到实际aspx文件,但在这样的环境下除了把Action去掉后也把验证控件的 onsubmit="if (!ValidatorOnSubmit()) return false;" 也去掉。
想到一个笨的办法解决:
在postback的按钮,如
<asp:button id="btnOK" Runat="server" Text="确定" ></asp:button>
在按钮外端添加
<span onclick="if (!ValidatorOnSubmit()){return false;}"><asp:button id="btnOK" Runat="server" Text="确定" ></asp:button></span>
即可在点击按钮前先通过 if(!ValidatorOnSubmit()) return false; 这个验证后再执行postback
1public class Form : HtmlForm
2 protected override void RenderAttributes(HtmlTextWriter writer)
4 writer.WriteAttribute("name", Name);
6 base.Attributes.Remove("name");
7
8 writer.WriteAttribute("method", Method);
9 base.Attributes.Remove("method");
10
11 Attributes.Render(writer);
12
13 base.Attributes.Remove("action");
14
15 if (base.ID != null)
16 writer.WriteAttribute("id", ClientID);
18 }
19 }
20 }
目的主要是将Form中的Action去掉,让Url Rewrite在postback的时候能在IHttpModule中找到实际aspx文件,但在这样的环境下除了把Action去掉后也把验证控件的 onsubmit="if (!ValidatorOnSubmit()) return false;" 也去掉。
想到一个笨的办法解决:
在postback的按钮,如
<asp:button id="btnOK" Runat="server" Text="确定" ></asp:button>
在按钮外端添加
<span onclick="if (!ValidatorOnSubmit()){return false;}"><asp:button id="btnOK" Runat="server" Text="确定" ></asp:button></span>
即可在点击按钮前先通过 if(!ValidatorOnSubmit()) return false; 这个验证后再执行postback
相关文章推荐
- ASP.NET在IE10中Form表单身份验证失效问题解决方法
- 不使用ASP.NET服务器端控件(包括form表单不加runat="server")来触发.cs里的事件(方法),(适用于有代码洁癖者)。
- 使用Form验证,未登录时登录页面无法显示图片、css、js文件的解决方法
- ssh项目中使用Action跳转后css失效的解决方法
- URL重写时 form action还原成原始URL的解决方法
- ASP.NET使用表单验证在注销后使得浏览器后退按钮失效的简单方法
- Android 控件使用Animator动画后,点击事件失效解决方法
- ASP.NET在IE10,IE11中Form表单身份验证失效问题解决方法
- 当有“Button1.Attributes.Add("onclick", "return confirm('你确定要保存修改吗?')");”时,验证控件失效的解决方法
- ASP.NET使用表单验证在注销后使得浏览器后退按钮失效的简单方法
- mvc3中使用unobtrusive时,ajax更新加载页面后验证失效解决方法
- ASP.NET中无法使用验证控件解决方法
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- ssh项目中使用Action跳转后css失效的解决方法
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
- 验证控件失效解决方法
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- mac os x 使用zsh终端后,django-admin命令失效解决方法
- 使用debmirror为Debian建立本地源的方法,以及遇到的GPG key验证错误问题的解决方法