我打开一个登陆注册的示例所有aspx文件和cs文件里都没有连库接数据库的语句
App_Data里面有MDF文件,我用vs连接它,然后运行网页文件login.aspx,结果可以访问到数库。
查看配置文件时发现<authentication mode="Windows"/>
这样配置也不至于连库接数据库的语句也不要了吧?那怎么知道要读写的数据库文件是哪个呢(假设有好几个)?
这种做法是不是只能用来做测试用,而放虚拟主机上是无效的(因为虚拟主机上的windows认证禁用了)?

谢谢!<?xml version="1.0"?><configuration>
<appSettings/>
<connectionStrings/>
(这两项是不是弄错了?只有半边,不是成对出现吗?)
<system.web>

<compilation debug="true"/>

<authentication mode="Windows"/>

</system.web>
</configuration>

解决方案 »

  1.   

    呵呵,那就是在dbhelper里面的获取配植文件的连接字符串,变成了自己写的连接字符串了,所以就不用调用webconfig了!
      

  2.   

    在dbhelper里面的获取配植文件的连接字符串,变成了自己写的连接字符串了,所以就不用调用webconfig了!
      

  3.   

    谁规定连接数据库字符串必须写在webconfig里?
      

  4.   

    那两项没弄错,斜杠在尖括号里面代表结束。
    <appSettings/>和<appSettings></appSettings>效果一样
      

  5.   

    1.把断点设置在登录的地方,启动调试,按F11逐行跟踪,你就能找到链接数据库的地方了
    <appSettings/> 
    <connectionStrings/>
    只有当<appSettings/>节点中包含内容时才一定要成对出现,例如
    <appSettings>

    <appSettings/>
    否则<appSettings/>也是一样的
      

  6.   

    除了配置中有那么一项,访问数据库用windows身份认证外,其它地方没有任何此类代码,代码很少一目了然,很多CS中都是空的!
      

  7.   

    ...无语了,config里没有连接语句就是没有连数据库呀?找数据操作的那个类看吧。
      

  8.   

    。你看看你数据库操作类里的connection里的连接字符串是什么。没有?那真是活见鬼了。
      

  9.   

    我没说必须写在webconfig里啊!
    我是说配置文件里仅有<authentication mode="Windows"/>没有具体的连接数据库的语句。
    而其余的就是aspx、cs 和数据库文件了!
    而在aspx里只有登陆注册控件
    在cs里只有个初使页面(新建网页时默认的cs文件,page_load里都没东西。
    难道就是靠using System.Collections;这个类引用来连接数据库的,那链接的是哪个数据库文件也不得而知啊!(App_Data里面有MDF文件,难道是默认就是在App_Data里面里找,当有多个MDF时这样还行得通?)

    几个页面的cs文件都是这样的。using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
      

  10.   

    App_Data里面有MDF文件,难道是默认就是在App_Data里面里找,当有多个MDF时这样还行得通?) 有MDF文件应该是数据库的
      

  11.   

    我先在vs的工具时连接该数据库文件,然后访问,先进注册页面注册了个用户,再在登陆页面登陆了!如果把SQL2005服务器关闭就会报连接SQL2005出错。
    难道这个连接数据库的语句被用“vs的工具时连接该数据库文件”代替了
      

  12.   

    如果把SQL2005服务器关闭就会报连接SQL2005出错
    关闭了当然不行啦,你要访问数据库的呀
      

  13.   

    MDF文件是数据库文件是知道的
      

  14.   

    没有dll文件 问题会不会是在这里呢?
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }而当我新建一个网站时,vs创建的cs是
    using System;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }但是没有哪定义了Collections;
    using System.Collections;明显是引用的系统的类,就算它能用来链接数据库,那也得给出数据库文件MDF的名字吧!!!
      

  15.   

    Login 控件会默认以WINDOWS方式,连接本地SQL默认实例,中的系统表呵
      

  16.   

    login.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Login ID="Login1" runat="server" CreateUserText="新用户注册" CreateUserUrl="~/CreateUser.aspx"
                DestinationPageUrl="~/NavigatePage.aspx">
            </asp:Login>
        
        </div>
        </form>
    </body>
    </html>NavigatePage.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NavigatePage.aspx.cs" Inherits="NavigatePage" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>
    CreateUser.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CreateUser.aspx.cs" Inherits="CreateUser" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:CreateUserWizard ID="CreateUserWizard1" runat="server" ContinueButtonText="返回"
                ContinueDestinationPageUrl="~/Login.aspx" InvalidPasswordErrorMessage="密码最短长度为 8,必须包括大写和小写字母以及标点符号">
                <WizardSteps>
                    <asp:CreateUserWizardStep runat="server">
                    </asp:CreateUserWizardStep>
                    <asp:CompleteWizardStep runat="server">
                    </asp:CompleteWizardStep>
                </WizardSteps>
            </asp:CreateUserWizard>
        
        </div>
        </form>
    </body>
    </html>
    三个页面的cs文件都一样(除了两个类名)
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Login//所有cs文件就这里不一样 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
    没有dll文件,还有一个aspnetdb.mdf的数据库文件和一个数据库日志文件 配置文件
    <?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
    <!-- 
                设置 compilation debug="true" 将调试符号插入
                已编译的页面中。但由于这会 
                影响性能,因此只在开发过程中将此值 
                设置为 true。
            -->
    <compilation debug="true"/>
    <!--
                通过 <authentication> 节可以配置 ASP.NET 使用的 
                安全身份验证模式,
                以标识传入的用户。 
            -->
    <authentication mode="Windows"/>
    <!--
                如果在执行请求的过程中出现未处理的错误,
                则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
                开发人员通过该节可以配置
                要显示的 html 错误页
                以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                <error statusCode="403" redirect="NoAccess.htm" />
                <error statusCode="404" redirect="FileNotFound.htm" />
            </customErrors>
            -->
    </system.web>
    </configuration>
    再没其它的了!一共九个!!!!!!
      

  17.   


    就是这样的,你使用Login的时候,肯定听了VS的话,自动创建了数据库。
    这个数据库是LOGIN创建的样品。
      

  18.   

    本地SQL默认实例名称是固定的吗?
    必须是mdf数据库文件吗?(导入数据库或数据库中的建的表不行吗?
    这种方式只能用于测试吧。做网站也像这样做?还有其它控件也能这样连接对应的默认实例?对应的默认实例的名称是怎样的呢?
      

  19.   

    系统已经实现了,我已经说得很明白了。ASP.NET系统认证模块会自动创建一个mdf,并且attach它。
      

  20.   

    是啊,ASP。NET的登录控件是比较变态的,自动创建表,把用户表都创建好了。
    不是很灵活