CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

页面和代码分离后为什么会出现”ConnectionString 属性尚未初始化”错误???

楼主nancysun()2003-06-03 22:46:46 在 .NET技术 / ASP.NET 提问

为什么页面和代码分离后按“提交”按钮后,会出现错误(而此错误在页面和代码没分离的情况下没有):  
  System.InvalidOperationException:   ConnectionString   属性尚未初始化。  
   
  源错误:    
   
  执行当前   Web   请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。      
   
  堆栈跟踪:    
   
   
  [InvalidOperationException:   ConnectionString   属性尚未初始化。]  
        System.Data.SqlClient.SqlConnection.Open()   +809  
        AspCool.addusers.ValidationNickname(Object   source,   ServerValidateEventArgs   args)   +55  
        System.Web.UI.WebControls.CustomValidator.OnServerValidate(String   value)   +136  
        System.Web.UI.WebControls.CustomValidator.EvaluateIsValid()   +88  
        System.Web.UI.WebControls.BaseValidator.Validate()   +138  
        System.Web.UI.Page.Validate()   +235  
        System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String   eventArgument)   +35  
        System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler   sourceControl,   String   eventArgument)   +18  
        System.Web.UI.Page.RaisePostBackEvent(NameValueCollection   postData)   +33  
        System.Web.UI.Page.ProcessRequestMain()   +1263  
   
     
  错误。多谢高人指点。  
  问题点数:20、回复次数:12Top

1 楼net_lover(【孟子E章】)回复于 2003-06-03 22:53:20 得分 0

没有定义  
  参考代码分离的许多例子  
  http://lucky_elove.www1.dotnetplayground.com/Top

2 楼nancysun()回复于 2003-06-03 23:21:13 得分 0

能否具体写出应如何定义?谢谢。Top

3 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2003-06-03 23:24:31 得分 0

show   your   codeTop

4 楼nancysun()回复于 2003-06-03 23:34:45 得分 0

用户注册“addusers.aspx”代码如下:  
   
  <%@   Page   language="c#"   Src="addusers.aspx.cs"   AutoEventWireup="false"   Inherits="AspCool.addusers"%>  
   
   
  <html>  
  <head><title>新用户注册</title>  
  <style   type="text/css">  
  <!--  
        td{font-size:9pt;}  
  -->  
  </style>  
  </head>  
   
  <body   background="./images/gray.jpg">  
  <form   runat="server">  
  <table   align="center"   border="0"   bgcolor="#0088FF"   width="90%"   cellpadding="2">  
      <tr><td   valign="middle"   align="left"   width="90%"   colspan="2"   bgcolor="#B3F4FF">  
            <div   align="center">  
            <font   color="#830701">新用户注册</font>  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="90%"   colspan="2"   bgcolor="#B3C4FF">  
                <font   color="#FF0000">请输入您的用户名、密码及相关资料</font>  
                <font   color="#0000FF">(**表示必须要填)</font>  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                用&nbsp;&nbsp;户&nbsp;&nbsp;名:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="nickname"   style="height:19px;width:100px"  
                          Size="20"   MaxLength="12"   runat="server"   /><font   color="#FF0000">**  
                <asp:RequiredFieldValidator   id="rfv1"    
                          ControlToValidate="nickname"  
                          Display="dynamic"   runat="server">不能为空  
                </asp:RequiredFieldValidator>  
                <asp:CustomValidator   id="cv1"  
                          ControlToValidate="nickname"  
                          OnServerValidate="ValidationNickname"  
                          ForeColor="red"   ErrorMessage="用户名被抢注!"  
                          Display="static"   runat="server"/>  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                输入密码:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="pwd"   TextMode="password"    
                          style="height:19px;width:100px"  
                          Size="20"   MaxLength="10"   runat="server"   /><font   color="#FF0000">**  
                <asp:RequiredFieldValidator   id="rfv2"    
                          ControlToValidate="pwd"  
                          Display="dynamic"   runat="server">不能为空  
                </asp:RequiredFieldValidator>  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                确认密码:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="pwd2"   TextMode="password"  
                          style="height:19px;width:100px"  
                          Size="20"   MaxLength="10"   runat="server"   /><font   color="#FF0000">**  
                <asp:CompareValidator   id="CV"  
                          ControlToValidate="pwd"  
                          ControlToCompare="pwd2"  
                          Type="String"   Operator="Equal"    
                          Display="dynamic"   runat="server">密码不一致  
                </asp:CompareValidator>  
      </td></tr>  
        <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                电子邮件:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="email"    
                          style="height:19px;width:100px"  
                          Size="20"   MaxLength="20"   runat="server"   /><font   color="#FF0000">**  
                <asp:RequiredFieldValidator   id="rfv3"    
                          ControlToValidate="email"  
                          Display="dynamic"   runat="server">不能为空  
                </asp:RequiredFieldValidator>  
                <asp:RegularExpressionValidator   id="rev1"    
                          ControlToValidate="email"  
                          ValidationExpression="^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"  
                          Display="Dynamic"  
                          runat="server">  
                          不是电子邮件地址  
                          </asp:RegularExpressionValidator>      
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                公司名称:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="Company"   style="height:19px;width:300px"  
                          Size="30"   MaxLength="12"   runat="server"   /><font   color="#FF0000">**  
                           
               
                <asp:RequiredFieldValidator   id="rfv4"    
                          ControlToValidate="Company"  
                          Display="dynamic"   runat="server">不能为空  
                </asp:RequiredFieldValidator>  
                 
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                公司主页</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="homepage"   style="height:19px;width:360px"  
                          Size="50"   Text="http://"   runat="server"   />  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                性&nbsp;&nbsp;&nbsp;&nbsp;别:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:RadioButton   id="Male"   Text="男"   GroupName="Sex"  
                          Checked="true"   runat="server"   />  
                <asp:RadioButton   id="Female"   Text="女"  
                          GroupName="Sex"   runat="server"   />  
      </td><tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                教育程度:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:DropDownList   id="edu"   size="1"   runat="server">  
                      <asp:ListItem   selected="true"   value="本科">本科</asp:ListItem>  
                      <asp:ListItem   value="硕士">硕士</asp:ListItem>  
                      <asp:ListItem   value="博士">博士</asp:ListItem>  
                      <asp:ListItem   value="本科以下">本科以下</asp:ListItem>  
                </asp:DropDownList>  
      </td><tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                爱&nbsp;&nbsp;&nbsp;&nbsp;好:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:DropDownList   id="hobby"   size="1"   runat="server">  
                      <asp:ListItem   selected="true"   value="读书">读书</asp:ListItem>  
                      <asp:ListItem   value="打篮球">打篮球</asp:ListItem>  
                      <asp:ListItem   value="踢足球">踢足球</asp:ListItem>  
                      <asp:ListItem   value="玩游戏">玩游戏</asp:ListItem>  
                      <asp:ListItem   value="下棋">下棋</asp:ListItem>  
                      <asp:ListItem   value="看电影">看电影</asp:ListItem>  
                      <asp:ListItem   value="网上聊天">网上聊天</asp:ListItem>  
                      <asp:ListItem   value="看小说">看小说</asp:ListItem>  
                      <asp:ListItem   value="泡吧">泡吧</asp:ListItem>  
                      <asp:ListItem   value="听音乐">听音乐</asp:ListItem>  
                </asp:DropDownList>  
      </td></tr>  
      <tr   align="center">  
            <td   valign="middle"   align="left"   width="10%"   bgcolor="#B3F4FF">  
                公司介绍:</td>  
            <td   bgcolor="#B3F4FF"   align="left">  
                <asp:TextBox   id="brief"   Rows="5"   Columns="60"  
                          TextMode="Multiline"   runat="server"   />  
      </td></tr>  
      <tr><td   width="100%"   align="center"   colspan="2"   bgcolor="#FFFFFF">  
            <asp:Button     id   =Reg   Text="注册"   OnClick="RegBtn_Click"   runat="server"   />  
      </td></tr>  
  </table>  
  </form>  
  </body>  
  </html>  
   
  Top

5 楼nancysun()回复于 2003-06-03 23:36:25 得分 0

后端代码“addusers.aspx.cs”如下:  
      using   System;    
      using   System.Collections;    
      using   System.ComponentModel;    
      using   System.Configuration;  
      using   System.Data;    
      using   System.Data.SqlClient;  
      using   System.Drawing;    
      using   System.Web;    
      using   System.Web.SessionState;    
      using   System.Web.UI;    
      using   System.Web.UI.WebControls;    
      using   System.Web.UI.HtmlControls;    
         
      namespace   AspCool    
      {    
         
        public   class   addusers   :   System.Web.UI.Page    
        {    
        public   System.Web.UI.WebControls.TextBox   nickname;    
        protected   System.Web.UI.WebControls.TextBox   pwd;  
        protected   System.Web.UI.WebControls.TextBox   email;  
        protected   System.Web.UI.WebControls.TextBox   Company;  
        protected   System.Web.UI.WebControls.TextBox   brief;  
        protected   System.Web.UI.WebControls.TextBox   homepage;  
        protected   System.Web.UI.WebControls.DropDownList   edu;  
        protected   System.Web.UI.WebControls.DropDownList   hobby;  
        protected   System.Web.UI.WebControls.RadioButton   Male;  
        protected   System.Web.UI.WebControls.RadioButton   Female;  
        protected   System.Web.UI.WebControls.Button   Reg;  
        String   strConn;  
        SqlConnection   cn;  
         
        private   void   Page_Load(Object   sender,   EventArgs   e)    
        {  
        //   从Web.config文件中读取连接字符串  
        strConn=ConfigurationSettings.AppSettings["sf"];  
        //cn   =   new   SqlConnection("server=localhost;uid=sa;pwd=;database=sf");  
        }  
        public   void   ValidationNickname(object   source,   ServerValidateEventArgs   args)  
        {  
        //   连接到sf数据库  
        cn=new   SqlConnection(strConn);  
        //cn   =   new   SqlConnection("server=localhost;uid=sa;pwd=;database=sf");  
        //   打开连接  
        cn.Open();  
        //   构造SQL语句,该语句检查用户名是否被抢注  
        String   strSQL="select   *   from   RegUsers   where   NickName='"+nickname.Text+"'";  
        //   创建Command对象  
        SqlCommand   cm=new   SqlCommand(strSQL,cn);  
        //   执行ExecuteReader()方法      
        SqlDataReader   dr=cm.ExecuteReader();  
        if   (dr.Read())   {  
              args.IsValid=false;     //   用户名被抢注  
        }   else   {  
              args.IsValid=true;     //   用户名没被抢注  
        }  
        //   关闭连接  
        cn.Close();  
      }  
   
   
        public   void   RegBtn_Click(object   sender,   EventArgs   e)  
        {  
        if   (Page.IsValid)   {  
            //   连接到sf数据库  
            strConn=ConfigurationSettings.AppSettings["sf"];  
            cn=new   SqlConnection(strConn);  
            //cn   =   new   SqlConnection("server=localhost;uid=sa;pwd=;database=sf");  
            //   打开连接  
            cn.Open();  
            //   构造SQL语句,该语句往RegUsers表中添加一条记录  
            String   strSQL="insert   into   RegUsers   (NickName,Password,Sex,Company,"+  
                            "Email,Education,Hobby,Brief,HomePage,LoginTime)   values   (@NickName,"+  
                            "@Password,@Sex,@Company,@Email,@Education,@Hobby,@Brief,"+  
                            "@HomePage,@LoginTime)";  
            //   创建Command对象  
            SqlCommand   cm=new   SqlCommand(strSQL,cn);  
            //   添加参数  
            cm.Parameters.Add(new   SqlParameter("@NickName",SqlDbType.NVarChar,20));  
            cm.Parameters.Add(new   SqlParameter("@Password",SqlDbType.NVarChar,20));  
            cm.Parameters.Add(new   SqlParameter("@Sex",SqlDbType.VarChar,2));  
            cm.Parameters.Add(new   SqlParameter("@Email",SqlDbType.NVarChar,30));  
            cm.Parameters.Add(new   SqlParameter("@Company",SqlDbType.NVarChar,50));  
            cm.Parameters.Add(new   SqlParameter("@Education",SqlDbType.NVarChar,10));  
            cm.Parameters.Add(new   SqlParameter("@Hobby",SqlDbType.NVarChar,16));  
            cm.Parameters.Add(new   SqlParameter("@Brief",SqlDbType.NVarChar,255));  
            cm.Parameters.Add(new   SqlParameter("@HomePage",SqlDbType.NVarChar,30));  
            cm.Parameters.Add(new   SqlParameter("@LoginTime",SqlDbType.DateTime));  
            //   给参数赋值  
            cm.Parameters["@NickName"].Value=nickname.Text;  
            cm.Parameters["@Password"].Value=pwd.Text;  
            if   (Male.Checked)   cm.Parameters["@Sex"].Value="男";  
            if   (Female.Checked)   cm.Parameters["@Sex"].Value="女";  
            cm.Parameters["@Email"].Value=email.Text;  
            cm.Parameters["@Company"].Value=Company.Text;  
            cm.Parameters["@Education"].Value=edu.SelectedItem.Value;  
            cm.Parameters["@Hobby"].Value=hobby.SelectedItem.Value;  
            cm.Parameters["@Brief"].Value=brief.Text;  
            cm.Parameters["@HomePage"].Value=homepage.Text;  
            cm.Parameters["@LoginTime"].Value=DateTime.Today;  
            //   执行ExecuteNonQuery()方法  
            //cm.Connection.Open();  
            cm.ExecuteNonQuery();  
            //cm.Connection.Close();        
            //   关闭连接  
            cn.Close();  
            //   保存当前用户的用户名  
            Session["UserName"]=nickname.Text;  
            //MessageBox.Show("注册成功");  
   
            //   进入主画面  
            Response.Redirect("index.htm");  
        }  
        }  
         
        }    
      }    
   
   
  谢谢高手指点。  
   
   
   
   
   
   
   
  Top

6 楼OK521(拉登陪我打CS)回复于 2003-06-04 00:47:56 得分 0

strConn=ConfigurationSettings.AppSettings["sf"];  
  cn=new   sqlconnection(strconn)Top

7 楼singleflower(诗凡(愿父亲安息))回复于 2003-06-04 04:21:37 得分 5

在WEBCONGFIG文件里保存ConnectionString   值就可以,在配置数据连接时有这个选项,如果不点选这一选项而直接去连数据库就会报此错误.Top

8 楼yuanylong(小新)回复于 2003-06-04 08:38:20 得分 5

你看看这几句:  
        public   void   ValidationNickname(object   source,   ServerValidateEventArgs   args)  
        {  
        //   连接到sf数据库  
        cn=new   SqlConnection(strConn);  
  其中strConn   还没有值呢。  
  虽然在程序最上面说明了这个变量。  
  但是在这个函数里并没有初始化初值。  
  解决办法就是楼上的办法。Top

9 楼DreamMeng( 追梦 )回复于 2003-06-04 08:45:33 得分 0

web.config:  
   
  <?xml   version="1.0"   encoding="utf-8"   ?>  
  <configuration>  
  <appSettings>  
  <add   key="sf"   value="server=localhost;uid=sa;pwd=;database=sf"   />  
  </appSettings>  
  ...  
  Top

10 楼fupip(小)¤(贝)回复于 2003-06-04 08:52:26 得分 5

String   strConn="";  
  Top

11 楼fupip(小)¤(贝)回复于 2003-06-04 08:54:12 得分 5

strConn=ConfigurationSettings.AppSettings["sf"];  
  放到构造函数中。Top

12 楼zxpcomeon(浪子想家)回复于 2003-06-04 09:51:51 得分 0

连上数据库了吗?Top

相关问题

  • ConnectionString 属性尚未初始化??????
  • ConnectionString 属性尚未初始化
  • ConnectionString 属性尚未初始化
  • ConnectionString 属性尚未初始化
  • 为何报错:ConnectionString 属性尚未初始化。
  • “connectionstring 属性尚未初始化”的问题
  • 异常详细信息: System.InvalidOperationException: ConnectionString 属性尚未初始化。
  • 如何通过代码初始化DataEnvironment的连接属性?如access数据库的路径.
  • 初始化代码添加的问题
  • 怎样给type="file"的 value 属性填入 初始化值呢???

关键词

  • 密码
  • 电子邮件
  • 用户
  • 本科
  • 输入
  • 不能为空
  • 公司

得分解答快速导航

  • 帖主:nancysun
  • singleflower
  • yuanylong
  • fupip
  • fupip

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo