发布到虚拟空间里, 页面验证控件失效,提交按钮无反应

zg672313 2011-11-01 05:26:48
如题, 在本地测试没有问题,但是上传到空间里就,出现这个现象, 在注册页面,登陆页面中, 验证控件失去作用, 即使页面不填任何内容, 点"注册" 或者"登陆" 按钮都可以跳转到目标页面. 在提交评论时, 怎么点按钮都无反应.不会提交到服务器上面. 之前很好, 可以这几天这个问题怎么都解决不了, 希望大侠们可以帮助一下, 谢谢!
...全文
121 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zg672313 2011-11-08
  • 打赏
  • 举报
回复
问题解决,是服务商的问题解决方法: 检查iis是否添加了axd扩展.在iis里的网站属性里添加(这一步当然就需要联系服务商帮助解决了)
可执行文件:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll
扩展名:.axd
限制为:GET,HEAD,POST,DEBUG
并且去除“确认文件是否存在”的勾。
huayy 2011-11-03
  • 打赏
  • 举报
回复
本地没问题,传到虚拟空间后验证控件无效,这个是虚拟空间服务器的问题。
我在服务器上也碰到过这种情况,重新注册下.net组件就好了。
还有一个可能性就是有一部分譬如.ashx的asp.net映射在IIS中被删除了,
但是你虚拟空间提供商不一定会帮你处理,所以你可以考虑改用后台验证的方式。
zg672313 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 keepfool 的回复:]

在点击按钮时输出一些信息到页面里面,检查一下是否能输出?
在做Click事件的时候,Response.Write(""),其他的代码先屏蔽掉试试。
或者做一个Test.aspx,里面放几个控件,不与后台进行交互,只是为了测试控件的事件是否触发。
[/Quote]
谢谢你的提醒,我做了一个测试页,验证控件也起作用,不过它是先提交到后台,然后才验证数据,这是不是与我的UrlRewriter 有关呢? 因为曾经我在服务器做了 UrlRewriter之后,fck控件失效了,后来我在web.config中做了修改.
zg672313 2011-11-03
  • 打赏
  • 举报
回复
现在我AJAX 组件也不能工作了
md5e 2011-11-02
  • 打赏
  • 举报
回复
一般有OnClientClick的情况下验证控件是不起作用的
zg672313 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 liuchaolin 的回复:]

OnClientClick="ShowConfirmClose(false)"

这个一定要加return ,不然他不管有没有验证通过都会提交
[/Quote]


这是我在登陆页面的代码,同样也是,不填任何信息,验证控件也失效,都提交服务器. 有没有办法吗?

<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="60" align="right" class="leftfont">
 
</td>
<td align="left">
 
</td>
</tr>

<tr>
<td align="right" class="leftfont">
电子邮件
</td>
<td align="left" colspan="2">
<asp:TextBox ID="txtEmail" runat="server" CssClass="input" Width="245px" EnableViewState="False" autocomplete="off"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfEmail" runat="server" Display="Dynamic" ControlToValidate="txtEmail" ErrorMessage="*"></asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="reEmail" runat="server" ErrorMessage="邮件格式错误" ControlToValidate="txtEmail" Display="Dynamic" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td align="right" class="leftfont">
密码
</td>
<td align="left">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Width="245px" CssClass="input" EnableViewState="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfPassword" Display="Dynamic" runat="server" ControlToValidate="txtPassword" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
<td align="left">

</td>
</tr>
<tr>
<td align="right" class="leftfont">
 
</td>
<td align="left" colspan="2">

<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" BorderColor="White" CssClass="btn" />

<asp:Label ID="Msg" runat="server" ForeColor="Red" Visible="False" EnableViewState="False"></asp:Label>
</td>
</tr>
</table>
md5e 2011-11-02
  • 打赏
  • 举报
回复
OnClientClick="ShowConfirmClose(false)"

这个一定要加return ,不然他不管有没有验证通过都会提交
zg672313 2011-11-02
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage = "确认离开并放弃注册?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if (blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}

function ValidationNickName(source, arguments) {
var userName = document.getElementById("txtNickName");
var oBao = new ActiveXObject("Microsoft.XMLHTTP");
oBao.open("Get", "CheckCusSSLNicknameService.aspx?username=" +encodeURIComponent(userName.value), false);

oBao.send();
var strResult = oBao.responseText;


if (Number(strResult) == 1)
arguments.IsValid = true;
else
arguments.IsValid = false;
}

</script>
这是验证时的JS脚本
zg672313 2011-11-02
  • 打赏
  • 举报
回复
这是我的页面带验证控件的代码,提交注册时,验证的控件全部失效. JS的异步检测也失效.
zg672313 2011-11-02
  • 打赏
  • 举报
回复
<table width="100%" border="0" cellpadding="0" cellspacing="17" class="signup">
<tr>
<td align="left" valign="top" >
<h6>
会员信息添加( * 必须填写)</h6>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="300" align="right" class="leftfont">
昵称
</td>
<td align="left">
<asp:TextBox ID="txtNickName" runat="server" CssClass="input" EnableViewState="False"></asp:TextBox>
*
<asp:RequiredFieldValidator ID="rfNickName" runat="server" ErrorMessage="*" ControlToValidate="txtNickName"
ValidationGroup="CustomerRegister"></asp:RequiredFieldValidator><br />
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="txtNickName"
Display="Dynamic" ErrorMessage="昵称已经存在,请重新添加" ClientValidationFunction="ValidationNickName"
ValidationGroup="CustomerRegister"></asp:CustomValidator>
</td>
</tr>
<tr>
<td align="right" class="leftfont" valign="top">
电子邮箱
</td>
<td align="left">
<asp:TextBox ID="txtCusEmail" runat="server" CssClass="input" EnableViewState="False"></asp:TextBox>
*
<asp:RequiredFieldValidator ID="rfCusEmail" runat="server" ControlToValidate="txtCusEmail"
Display="Dynamic" ErrorMessage="*" ValidationGroup="CustomerRegister"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="rfEmail" runat="server" ErrorMessage="邮箱格式错误"
ControlToValidate="txtCusEmail" Display="Dynamic" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ValidationGroup="CustomerRegister"></asp:RegularExpressionValidator><br />
<asp:CustomValidator ID="cvCusemail" runat="server" ControlToValidate="txtCusEmail"
Display="Dynamic" ErrorMessage="邮箱已经使用,请重新添加." ClientValidationFunction="ValidationFunctionName"
ValidationGroup="CustomerRegister"></asp:CustomValidator>
</td>
</tr>
<tr>
<td align="right" valign="top" class="leftfont">
密码
</td>
<td align="left">
<asp:TextBox ID="txtCusPassword" runat="server" TextMode="Password" CssClass="input"
EnableViewState="False" MaxLength="20"></asp:TextBox>
*
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
Display="Dynamic" ControlToValidate="txtCusPassword" ValidationGroup="CustomerRegister"></asp:RequiredFieldValidator>
<br />
<span style="font-size:small; padding-left:10px">密码长度在5-20个字符之间.</span>

<asp:RegularExpressionValidator ID="reCusPwd" CssClass="bz" runat="server" ErrorMessage="至少添加5个字符"
Display="dynamic" ControlToValidate="txtCusPassword" ValidationExpression="\S{5,40}"
ValidationGroup="CustomerRegister"></asp:RegularExpressionValidator>
<span></span>
</td>
</tr>
<tr>
<td align="right" class="leftfont">
确认密码
</td>
<td align="left">
<asp:TextBox ID="txtCusPasswordConfirmation" runat="server" TextMode="Password" CssClass="input"
EnableViewState="False" MaxLength="20"></asp:TextBox>
*
<br />
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="txtCusPassword"
ControlToValidate="txtCusPasswordConfirmation" Display="Dynamic" ErrorMessage="密码输入不一致"
ValidationGroup="CustomerRegister"></asp:CompareValidator>
</td>
</tr>
<tr>
<td align="left" id="tdLinkButton">
<asp:Button ID="btnCusRegister" runat="server" CssClass="btnStyle1" ValidationGroup="CustomerRegister" Text="创建账号" OnClick="btnCusRegister_Click" OnClientClick="ShowConfirmClose(false)"/>

</td>
</tr>

</table>
zcxverygood123456 2011-11-01
  • 打赏
  • 举报
回复
验证控件失去作用
==============
服务器器缺少验证组件
别样苍茫 2011-11-01
  • 打赏
  • 举报
回复
如果还不行,代码贴出来看下。凭空猜测您的问题,比较纠结。
别样苍茫 2011-11-01
  • 打赏
  • 举报
回复
主要还是检查下文件路径。建议使用相对路径。
md5e 2011-11-01
  • 打赏
  • 举报
回复
应该是文件没有传完导致的JS代码错误
keepfool 2011-11-01
  • 打赏
  • 举报
回复
在点击按钮时输出一些信息到页面里面,检查一下是否能输出?
在做Click事件的时候,Response.Write(""),其他的代码先屏蔽掉试试。
或者做一个Test.aspx,里面放几个控件,不与后台进行交互,只是为了测试控件的事件是否触发。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧