当前位置:编程学习 > C#/ASP.NET >>

VS2008运行时首先进入的是母版页面,如果进入登录页面点击登录的时候就出错,怎么回事

在VS2008调试时没错误,运行时首先不是进入登录页面而是进入母版页面

要点击“重新登录”返回登录页面才可以正常显示

点击“登录”后就出现了如下错误
有时点击“登录”后也会显示下面的这个错误:

在网上查了很多资料都不能解决,什么删除文件啊之类的都不行。
我问的问题有两个:
1、为什么点击运行后不是进入登陆页面而是进入母版页面?如果要首先进入登陆页面怎么操作?
2、为什么点击登录后会出现两种错误提示?要怎么解决这些问题?
哎,最近愁死了,希望大家给点建议! --------------------编程问答-------------------- 1、为什么点击运行后不是进入登陆页面而是进入母版页面?如果要首先进入登陆页面怎么操作?

你是否把你当前页面加入到母板页了?

如果加入进去,就指定跳转的页面就行了,而不是母板页

2、为什么点击登录后会出现两种错误提示?要怎么解决这些问题?

不是两种错误,是你底层的数据库连接出错!
--------------------编程问答-------------------- 是不是指定母版页是启动页面? --------------------编程问答-------------------- 1、我已经把当前页面加入到母版页面里了,那如何指定跳转的页面呢?我是初学者,希望能把过程讲的详细些,谢谢
2、如何正确连接数据库呢?我的源码是从网上下载的,数据库在SQL2008里成功附加了,接下来如何成功连接数据库呢?
3、针对二楼的回答我想问,如何看母版页是不是启动页面呢?我不太明白要怎样查看,麻烦您能把具体的步骤讲下。 --------------------编程问答-------------------- 此外,依据这个系统的制作,我需要安装IIS吗?我也不太清楚这是不是属于网页制作。如果需要安装IIS的话我是win764位系统,要怎么操作呢?在网上查过相应资料,但发现一些网上的文件在我电脑里没有,也就没有安装成功。哎,现在是一片迷茫! --------------------编程问答-------------------- 2、为什么点击登录后会出现两种错误提示?要怎么解决这些问题?

不是两种错误,是你底层的数据库连接出错!
大虾,你看
数据库在VS里面已经连接成功了,可是为什么还是会出现下面的错误呀!
救救我吧 --------------------编程问答-------------------- 你登录页面是否也引用了母板页?
把数据库连接字条串发来瞧瞧 --------------------编程问答--------------------
引用 6 楼 sammy_luo 的回复:
你登录页面是否也引用了母板页?
把数据库连接字条串发来瞧瞧

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

/* 
 * 所属层次:数据访问类组件
 */
namespace MyOffice.DAL
{
    /// <summary>
    /// SqlHelper类是专门提供给用于高性能、可升级的sql数据操作
    /// </summary>
    public static class DBHelper
    {
        //数据库连接字符串。
        //连接字符串在界面层的webConfig的配置文件中。[设计为public是为了创建带事务的连接,因为连接将在DAL相关类中创建]
        public static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

        #region 执行SQL语句或存储过程,返回影响的行数
        /// <summary>
        /// 执行SQL语句或存储过程,返回影响的行数
        /// </summary>
        /// <param name="commandType">命令类型(存储过程, 文本, 表或视图)</param>
        /// <param name="commandText">存储过程名称或者sql命令语句</param>
        /// <param name="commandParameters">执行命令所用参数的集合</param>
        /// <returns>执行命令所影响的行数</returns>
        public static int ExecuteNonQuery(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
        {
            SqlCommand command = new SqlCommand();
            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                //为什么要调用准备执行命令这个方法:因为在此处可以加入一个事务控制。
                PrepareCommand(command, connection, null, commandType, commandText, commandParameters);
                int val = command.ExecuteNonQuery();
                command.Parameters.Clear();
                return val;
            }
        }
        #endregion

        #region 使用现有的SQL事务执行一个sql命令
        /// <summary>
        ///使用现有的SQL事务执行一个sql命令
        /// </summary>
        /// <param name="transaction">一个现有的事务</param>
        /// <param name="commandType">命令类型(存储过程, 文本, 等等)</param>
        /// <param name="commandText">存储过程名称或者sql命令语句</param>
        /// <param name="commandParameters">执行命令所用参数的集合</param>
        /// <returns>执行命令所影响的行数</returns>
        public static int ExecuteNonQuery(SqlTransaction transaction, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
        {
            //这里不能关闭连接,因为事务还没有完成,此连接将一直为本次事务提供服务。
            //连接将在相关的DAL数据模块中创建,然后传入本方法,所以本类的连接字符串要为Public
            SqlCommand command = new SqlCommand();
            PrepareCommand(command, transaction.Connection, transaction, commandType, commandText, commandParameters);
            int val = command.ExecuteNonQuery();
            command.Parameters.Clear();
            return val;
        }
        #endregion

        #region 执行一个返回读取器的sql命令
        /// <summary>
        /// 用执行的数据库连接执行一个返回读取器的sql命令
        /// </summary>
        /// <param name="commandType">命令类型(存储过程, 文本, 等等)</param>
        /// <param name="commandText">存储过程名称或者sql命令语句</param>
        /// <param name="commandParameters">执行命令所用参数的集合</param>
        /// <returns>包含结果的读取器</returns>
        public static SqlDataReader ExecuteGetReader(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
        {
            //创建一个SqlCommand对象
            SqlCommand command = new SqlCommand();
            //创建一个SqlConnection对象
            SqlConnection connection = new SqlConnection(ConnectionString);

            //在这里我们用一个try/catch结构执行sql文本命令/存储过程,因为如果这个方法产生一个异常我们要关闭连接,因为没有读取器存在,
            //因此commandBehaviour.CloseConnection 就不会执行
            try
            {
                //调用 PrepareCommand 方法,对 SqlCommand 对象设置参数
                PrepareCommand(command, connection, null, commandType, commandText, commandParameters);
                
                //调用 SqlCommand  的 ExecuteReader 方法
                SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
                //清除参数
                command.Parameters.Clear();
                return reader;  //注意不能关闭连接,否则调用方无法读取数据。
            }
            catch
            {
                //关闭连接,抛出异常
                connection.Close();
                throw;  //抛出什么?
            }
        }
        #endregion

        #region 执行命令,返回DataTable
        /// <summary>
        /// 执行命令,返回DataTable
        /// </summary>
        /// <param name="commandText">命令内容</param>
        /// <param name="commandType">命令类型</param>
        /// <param name="commandParameters">参数</param>
        /// <returns>DataTable数据表</returns>
        public static DataTable ExecuteGetDataTable(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
        {
            SqlCommand command = new SqlCommand();
            DataTable table = new DataTable();
            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                PrepareCommand(command, connection, null, commandType, commandText, commandParameters);
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(table);
                return table;
            }
        }
        #endregion

        #region 执行一个命令并返回第一列
        /// <summary>
        /// 用指定的数据库连接字符串执行一个命令并返回一个数据集的第一列
        /// </summary>
        ///<param name="ConnectionString">一个有效的连接字符串</param>
        /// <param name="commandType">命令类型(存储过程, 文本, 等等)</param>
        /// <param name="commandText">存储过程名称或者sql命令语句</param>
        /// <param name="commandParameters">执行命令所用参数的集合</param>
        /// <returns>用 Convert.To{Type}把类型转换为想要的 </returns>
        public static object ExecuteScalar(CommandType commandType, string commandText, params SqlParameter[] commandParameters)
        {
            SqlCommand command = new SqlCommand();

            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                PrepareCommand(command, connection, null, commandType, commandText, commandParameters);
                object val = command.ExecuteScalar();
                command.Parameters.Clear();
                return val;
            }
        }
        #endregion

        #region 准备执行一个命令
        /// <summary>
        /// 准备执行一个命令
        /// </summary>
        /// <param name="cmd">sql命令</param>
        /// <param name="conn">Sql连接</param>
        /// <param name="trans">Sql事务</param>
        /// <param name="cmdType">命令类型例如 存储过程或者文本</param>
        /// <param name="cmdText">命令文本</param>
        /// <param name="cmdParms">执行命令的参数</param>
        private static void PrepareCommand(SqlCommand command, SqlConnection connection, SqlTransaction transaction, 
            CommandType commandType, string commandText, SqlParameter[] commandParameters)
        {
            if (connection.State != ConnectionState.Open)
                connection.Open();

            command.Connection = connection;
            command.CommandText = commandText;

            if (transaction != null)
                command.Transaction = transaction;

            command.CommandType = commandType;

            if (commandParameters != null)
                command.Parameters.AddRange(commandParameters);
        }
        #endregion

    }
}
--------------------编程问答--------------------
2、为什么点击登录后会出现两种错误提示?要怎么解决这些问题?

不是两种错误,是你底层的数据库连接出错!

现在错误是这样的,怎样正确连接到数据库呢?
--------------------编程问答-------------------- --------------------编程问答--------------------  用这个

 楼主我觉得你连最基本的ADO.NET都没搞清楚,连接池什么时候打开 什么时候关闭 得明白; --------------------编程问答--------------------
引用 10 楼 shiyong7682719 的回复:
 用这个

 楼主我觉得你连最基本的ADO.NET都没搞清楚,连接池什么时候打开 什么时候关闭 得明白;

不瞒你说,这个代码是我从网上下的,看着一大堆代码我弄不清楚了都,那你能帮我看看要怎么改吗?小的将不胜感激啊! --------------------编程问答--------------------
引用 10 楼 shiyong7682719 的回复:
 用这个

 楼主我觉得你连最基本的ADO.NET都没搞清楚,连接池什么时候打开 什么时候关闭 得明白;

这是数据库连接层web.config文件代码:拜托你们看看,救我于水深火热之中吧!
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></sectionGroup></sectionGroup></sectionGroup></configSections><connectionStrings>
<add name="ConnectionString" connectionString="Data Source=FANG-PC\SQLEXPRESS;AttachDbFilename=E:\项目\未分类\MyOffice12-25\DataBase\MyOffice.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
  <appSettings>
    <add key="DBHelperProvider" value="System.Data.SqlClient"/>
    <add key="BbHelperConnectionString" value="Data Source=FANG-PC\SQLEXPRESSS;Initial Catalog=MYOFFICE.MDF;Persist Security Info=True;"/>
  </appSettings>
<system.web>
<pages validateRequest="false">
<controls>
<add tagPrefix="ajax" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></controls>
</pages>
<!--
          Set compilation debug="true" to insert debugging
          symbols into the compiled page. Because this
          affects performance, set this value to true only
          "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\余佳MyOffice12-25\DataBase\MyOffice.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
          during development."Data Source=.;Initial Catalog=MYOFFICE.MDF;Integrated Security=True"
           <add verb="*" path="images/Users/*.jpg" type="CoverHandler"/>
    -->
<compilation debug="true">
<assemblies>
<!--<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies>
</compilation>
<httpHandlers>
<add verb="*" path="images/Users/*.jpg" type="CoverHandler"/>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpHandlers>
<customErrors mode="Off" defaultRedirect="~/Error/ErrorPage.htm">
<error statusCode="403" redirect="~/Error/NoAccess.htm"/>
<error statusCode="404" redirect="~/Error/FileNotFound.htm"/>
</customErrors>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></httpModules></system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/></compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime></configuration>
--------------------编程问答--------------------  数据库连接字符:
⑴:身份验证
Data Source=.;Initial Catalog=数据库名称;Persist Security Info=True;User ID=数据库用户名;Password=密码;Pooling=True; min pool size=1;max pool size=50;
⑵:windows验证
Data Source=.;Initial Catalog=testDB;Integrated Security=True;
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,