1
public class Form : HtmlForm
2
{
3
protected override void RenderAttributes(HtmlTextWriter writer)
4
{
5
writer.WriteAttribute("name", Name);
6
base.Attributes.Remove("name");
7![](/Images/OutliningIndicators/InBlock.gif)
8
writer.WriteAttribute("method", Method);
9
base.Attributes.Remove("method");
10![](/Images/OutliningIndicators/InBlock.gif)
11
Attributes.Render(writer);
12![](/Images/OutliningIndicators/InBlock.gif)
13
base.Attributes.Remove("action");
14![](/Images/OutliningIndicators/InBlock.gif)
15
if (base.ID != null)
16
{
17
writer.WriteAttribute("id", ClientID);
18
}
19
}
20
}
目的主要是将Form中的Action去掉,让Url Rewrite在postback的时候能在IHttpModule中找到实际aspx文件,但在这样的环境下除了把Action去掉后也把验证控件的 onsubmit="if (!ValidatorOnSubmit()) return false;" 也去掉。![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/InBlock.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
想到一个笨的办法解决:
在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