Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用一种登录表单的两种类型的用户-ASP.NET_C#_Asp.net_Database_Login - Fatal编程技术网

C# 使用一种登录表单的两种类型的用户-ASP.NET

C# 使用一种登录表单的两种类型的用户-ASP.NET,c#,asp.net,database,login,C#,Asp.net,Database,Login,我正在使用ASP.NET Web应用程序,我完全迷上了我的项目!我已经做了这么多的方法,但没有任何效果!求你了,我需要有人帮我!我有两种类型的表(Sellers和DevilryMen),现在它们在两个单独的表中(以前它们在一个表中,但一切都出了问题!然后我决定将其完全分开)。现在我已经完成了这两个表的注册页面,但我的登录页面存在问题!我想为两者制作一个登录表单,但它不起作用!有人能告诉我这是否可行吗?怎么做?我知道这是一个完全随机的问题,但我总是删除所有内容然后重新开始 如果您需要查看我的代码:

我正在使用ASP.NET Web应用程序,我完全迷上了我的项目!我已经做了这么多的方法,但没有任何效果!求你了,我需要有人帮我!我有两种类型的表(
Sellers
DevilryMen
),现在它们在两个单独的表中(以前它们在一个表中,但一切都出了问题!然后我决定将其完全分开)。现在我已经完成了这两个表的注册页面,但我的
登录
页面存在问题!我想为两者制作一个登录表单,但它不起作用!有人能告诉我这是否可行吗?怎么做?我知道这是一个完全随机的问题,但我总是删除所有内容然后重新开始

如果您需要查看我的代码:

1-
First\u Home.aspx:

<form id="form2">
<asp:Login ID = "Login1" runat = "server" OnAuthenticate= "ValidateUser" UseSubmitBehavior="False" ></asp:Login>
</form>
更新: 数据库表:

CREATE TABLE [dbo].[Users] (
    [Id]       INT           IDENTITY (1, 1) NOT NULL,
    [Username] NVARCHAR (50) NOT NULL,
    [Password] NVARCHAR (50) NOT NULL,
    [Email]    NVARCHAR (50) NOT NULL,
    [UserType] INT           NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC),
    CONSTRAINT [AK_Users_Email] UNIQUE NONCLUSTERED ([Email] ASC),
    CONSTRAINT [AK_Users_Username] UNIQUE NONCLUSTERED ([Username] ASC)
);    
CREATE TABLE [dbo].[Sellers] (
        [Seller_ID]     INT           IDENTITY (1, 1) NOT NULL,
        [Name]          NVARCHAR (50) NOT NULL,
        [SUsername]     NVARCHAR (50) NOT NULL,
        [Password]      NVARCHAR (50) NOT NULL,
        [SEmail]        NVARCHAR (50) NOT NULL,
        [Phone]         NVARCHAR (50) NOT NULL,
        [City]          NVARCHAR (50) NOT NULL,
        [LastLoginDate] DATETIME      NULL,
        [CreatedDate]   DATETIME      NULL,
        PRIMARY KEY CLUSTERED ([Seller_ID] ASC),
    CONSTRAINT [FK_Sellers_Users_Username] FOREIGN KEY ([SUsername]) REFERENCES [Users]([Username]), 
    CONSTRAINT [FK_Sellers_Users_Email] FOREIGN KEY ([SEmail]) REFERENCES [Users]([Email]),
    );
    CREATE TABLE [dbo].[DeliveryMen] (
    [Delivery_ID]   INT             IDENTITY (1, 1) NOT NULL,
    [Name]          NVARCHAR (50)   NOT NULL,
    [DUsername]      NVARCHAR (50)   NOT NULL,
    [Password]      NVARCHAR (50)   NOT NULL,
    [DEmail]         NVARCHAR (50)   NOT NULL,
    [Phone]         NVARCHAR (50)   NOT NULL,
    [City]          NVARCHAR (50)   NOT NULL,
    [License]       VARBINARY (MAX) NOT NULL,
    PRIMARY KEY CLUSTERED ([Delivery_ID] ASC), 
    CONSTRAINT [FK_DeliveryMen_Users_Username] FOREIGN KEY ([DUsername]) REFERENCES [Users]([Username]), 
    CONSTRAINT [FK_DeliveryMen_Users_Email] FOREIGN KEY ([DEmail]) REFERENCES [Users]([Email]),

为什么不设置某种布尔值来告诉该方法是送货员登录还是卖家?看起来您遇到的问题实际上是选项过多。最好的方法是你最初的选择。您需要一个登录表。您可能还想为卖家和送货员安排一张桌子。如果登录ID位于其他两个表中的一个表中,则表示它们是一个表(如果同时位于这两个表中,则表示两者都是)。另外,
CheckBoxList2
字段看起来像是你真的应该问另一个问题的地方(有一个更好的方法来实现你想要的(以后可以很容易地查询到))。@code我以前做过,但仍然不起作用!这肯定需要重新设计IMHO。字段重复太多。您可以拥有一个
User
s表,并让这些表继承自用户。注册页面实际上并不重要。您的工作听起来像是,并且关心登录。登录将检查用户名和密码(用户属性)。您可以获取用户id;正确的?因此,您允许他们使用这些字段登录,然后,如果获得授权,您将使用该id按用户类型从相应的表中获取卖家或交货,并将他们重定向到他们的配置文件页面,例如完整的数据。有很多方法可以做到这一点,所以我认为你应该清理表格,尝试这样做,并用你得到的错误更新你的帖子。FK=用户标识
CREATE TABLE [dbo].[Users] (
    [Id]       INT           IDENTITY (1, 1) NOT NULL,
    [Username] NVARCHAR (50) NOT NULL,
    [Password] NVARCHAR (50) NOT NULL,
    [Email]    NVARCHAR (50) NOT NULL,
    [UserType] INT           NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC),
    CONSTRAINT [AK_Users_Email] UNIQUE NONCLUSTERED ([Email] ASC),
    CONSTRAINT [AK_Users_Username] UNIQUE NONCLUSTERED ([Username] ASC)
);    
CREATE TABLE [dbo].[Sellers] (
        [Seller_ID]     INT           IDENTITY (1, 1) NOT NULL,
        [Name]          NVARCHAR (50) NOT NULL,
        [SUsername]     NVARCHAR (50) NOT NULL,
        [Password]      NVARCHAR (50) NOT NULL,
        [SEmail]        NVARCHAR (50) NOT NULL,
        [Phone]         NVARCHAR (50) NOT NULL,
        [City]          NVARCHAR (50) NOT NULL,
        [LastLoginDate] DATETIME      NULL,
        [CreatedDate]   DATETIME      NULL,
        PRIMARY KEY CLUSTERED ([Seller_ID] ASC),
    CONSTRAINT [FK_Sellers_Users_Username] FOREIGN KEY ([SUsername]) REFERENCES [Users]([Username]), 
    CONSTRAINT [FK_Sellers_Users_Email] FOREIGN KEY ([SEmail]) REFERENCES [Users]([Email]),
    );
    CREATE TABLE [dbo].[DeliveryMen] (
    [Delivery_ID]   INT             IDENTITY (1, 1) NOT NULL,
    [Name]          NVARCHAR (50)   NOT NULL,
    [DUsername]      NVARCHAR (50)   NOT NULL,
    [Password]      NVARCHAR (50)   NOT NULL,
    [DEmail]         NVARCHAR (50)   NOT NULL,
    [Phone]         NVARCHAR (50)   NOT NULL,
    [City]          NVARCHAR (50)   NOT NULL,
    [License]       VARBINARY (MAX) NOT NULL,
    PRIMARY KEY CLUSTERED ([Delivery_ID] ASC), 
    CONSTRAINT [FK_DeliveryMen_Users_Username] FOREIGN KEY ([DUsername]) REFERENCES [Users]([Username]), 
    CONSTRAINT [FK_DeliveryMen_Users_Email] FOREIGN KEY ([DEmail]) REFERENCES [Users]([Email]),