日期:2014-05-18  浏览次数:20464 次

跨页传值和表单验证
我在page1.aspx中有一个表单,使用public   property的方式将表单的内容暴露出来,并使用asp控件button1将其提交给page2.aspx,以此在page2.aspx中使用PreviousPage对象来访问page1.aspx中的这些公有属性,来实现跨页传值。

现在的问题是,我希望在用户按下button1之后先对表单进行有效性验证(调用doAuthentication()函数,返回true则验证成功,false则失败),如果验证失败则中断表单的提交。但是通过设定button1的PostBackURL=~/page2.aspx之后提交的动作似乎是自动的。我该怎么做?

------解决方案--------------------
你希望根据验证结果来决定是否提交,也就是验证失败就不跨页提交了?这是做不到的,你只能在接受页验证,验证失败从新Response.Redirect回到原来那页。
------解决方案--------------------
是否可以添加一个验证按钮,只有用户通过验证后,button1才可以enabled=true
------解决方案--------------------

Server.Transfer

然后在page1.aspx中验证控件
------解决方案--------------------
完全把问题分析开来
先验证
通过后在传~~~
这有问题吗`?
------解决方案--------------------
自己写js应该没问题吧

跨页面提交也不要用微软的那个方式

直接post到另一个页面就可以 哪有那么麻烦的事情
------解决方案--------------------
直接post到另一个页面就可以 哪有那么麻烦的事情

会在Page2.aspx 中 OnLoadViewState这个阶段的时候报错,也可以通过重写避免,但是page1.aspx 要重写render把form的action改掉


------解决方案--------------------
<script type= "text/javascript ">
function validata()
{
if(条件)
{
处理
return false;
}
}
</script>
<form action= "... " me..= "post " onsubmit= "return validata() ">
要验证的内容

</form>
这是客户端直接验证的.