验证控件的问题

bineon 2004-08-25 09:10:33
http://www.91asp.cn/gb.aspx
一般来说如果你点击按钮以后如果有写必须填写信息的文本筐没有输入信息的话,那么验证控件就会提示信息,而且这个页面应该不会刷新。但是这个页面现在居然是刷新以后才提示信息有错误的!怎么回事呢?
另外你们还测试留言看看。似乎信息总是不能添加到数据库。为什么呢?数据库为access,属性设定没有只读选项。同时该文件的权限是完全权限。
谢谢各位。
...全文
182 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
极客行天下 2004-08-26
  • 打赏
  • 举报
回复
if page.isvaid then

end if
加上这个试试.
webdiyer 2004-08-26
  • 打赏
  • 举报
回复
OleDbConnection conn = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"] + Server.MapPath(ConfigurationSettings.AppSettings[1]));
这里的数据库路径正确吗?去掉try catch语句看看有没有什么错误?
bineon 2004-08-26
  • 打赏
  • 举报
回复
不知道楼上的代码是什么意思呢?
另外请帮忙解决楼定的问题。
rickjelly2004 2004-08-26
  • 打赏
  • 举报
回复
btnSave.Attributes.Add("onclick", "if(typeof(Page_ClientValidate)=='function') " _
& "haveError=Page_ClientValidate();" _
& "if(haveError) return window.confirm('更新しても宜しいですか?');"
李洪喜 2004-08-26
  • 打赏
  • 举报
回复
服务器上的ADO.net驱动程序是不是版本低了,不能处理你的ACCESS文件.
我以前遇到过这样的提示,是因为ACCESS的属性设置为只读,才会有此提示.
建议你安装mdac_typ.exe,版本2.7就可以了.
再就是你测试一下读取数据库内容是不是出错.
bineon 2004-08-26
  • 打赏
  • 举报
回复
最后总结应该还是access文件属性的问题。
注意程序本身没有任何问题。这可以从本机测试能正确运行验证。

服务器是2k3。磁盘是ntfs格式。管理员已经把我的access文件属性修改为非只读了。还需要其他设置吗?
wybkl88 2004-08-25
  • 打赏
  • 举报
回复
既然读写权限没问题,那这个问题一定于你设置的虚拟路径有关,程序是没什么问题。你可以
使着重新建立你的站点
bineon 2004-08-25
  • 打赏
  • 举报
回复
这个没有什么关系吧。即使不捕获异常也是得到相通的提示呀。
但是我还是按照你说的做了,结果和我说的一样。提示仍然是:操作必须使用一个可更新的查询。
zilang 2004-08-25
  • 打赏
  • 举报
回复
难道就不会用调试吗?呜呼
zlbpolly 2004-08-25
  • 打赏
  • 举报
回复
还有,你先不要用
try
{
}
catch
{
}
finally
{
}
看看添加数据时的错误提示
bineon 2004-08-25
  • 打赏
  • 举报
回复
会不会是服务器对access更新所必须的支持文件坏了?如果可能,那么应该是哪些文件坏了?
bineon 2004-08-25
  • 打赏
  • 举报
回复
没有问题。本机测试没有问题。
zlbpolly 2004-08-25
  • 打赏
  • 举报
回复
我认为可能是values ('" + msgGuestName + "','" + msgGuestEmail + "','" + msgContent + "')"中的values值有问题,你可以把cmd.ExecuteNonQuery()先屏蔽,用Lable显示sql字符串,检查一下看SQL语句是否正确!
bineon 2004-08-25
  • 打赏
  • 举报
回复
验证控件问题都小,既是不能解决还是能接受。但是不能添加数据。怎么办?
我使用asp测试能添加数据。也就是说数据库文件权限没有问题!为什么不能添加呢?
源代码:
/// <summary>
/// 添加留言信息到数据库
/// </summary>
/// <param name="msgGuestName">留言者姓名</param>
/// <param name="msgGuestEmail">留言者mail</param>
/// <param name="msgContent">留言内容</param>
private void addMessage(string msgGuestName,string msgGuestEmail,string msgContent)
{
string sql = "insert into message (msgGuestName,msgGuestEmail,msgContent) values ('" + msgGuestName + "','" + msgGuestEmail + "','" + msgContent + "')";
OleDbConnection conn = new OleDbConnection(ConfigurationSettings.AppSettings["ConnectionString"] + Server.MapPath(ConfigurationSettings.AppSettings[1]));
OleDbCommand cmd = new OleDbCommand(sql,conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
alert("您的留言信息已经保存,我会尽快处理您的留言,谢谢!");
this.txtContent.Value = "";
this.txtEmail.Value = "" ;
this.txtName.Value = "" ;
}
catch(Exception ex)
{
alert(ex.Message);
}
finally
{
if(conn.State == ConnectionState.Open)
{
conn.Close();
}
}
}
lxcc 2004-08-25
  • 打赏
  • 举报
回复
应该没有问题

可以试试用
运行 C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -c

重新生成验证脚本
bineon 2004-08-25
  • 打赏
  • 举报
回复
这个属性为默认的true
验证控件验证对象不是web form的控件,而是html控件,然后设置为服务器端运行。不知道这个有没有问题呢?
但是我在自己机子上面没有问题啊!
webdiyer 2004-08-25
  • 打赏
  • 举报
回复
验证控件的EnableClientScript是否被设成了false??

62,046

社区成员

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

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

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

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