-1

如果有人可以帮助我解决问题,我将不胜感激:使用 OBDC 在 C# for MySql 中注册页面

我不能使用任何内置的 asp.net 功能。

我是为了上课。虽然我知道还有其他可能更好的方法来制作连接字符串,但这就是讲师的做法。我创建了一个名为 User 的类,并且正在尝试制作注册页面。尚未在登录页面上开始,但需要使用会话 ID 进行登录,并在登录和注册页面上输入一个条目,如果用户登录或未登录,则该条目将显示在该页面上。

所以对于初学者来说,我的注册页面不断收到错误"NewRegis.create()" line 23.

它还说:

c:\Users\Lau\Documents\SQL Class\Project_homework3\App_Code\User.cs(23,34): error CS1002: ; expected
        Line 21:                 NewRegis.email = email.Text;
        Line 22:                 NewRegis.password = password.Text;
        Line 23:                 NewRegis.create()
        Line 24:             }
        Line 25: 

所以这里是注册aspx文件的代码和隐藏文件的代码.....

这是registration.aspx文件的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="registration.aspx.cs" Inherits="registration.NewRegis" %>

<!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>
            <div>
            <div>
            <h1>Registration Page</h1> 
            <p>To register, please enter the following information and then submit.</p>
            </div>
            <br />
            <br />
            <br />
            <div>
            <form id="form1" runat="server">
            <asp:Label ID="EmailLab" runat="server" Text="Email Address (will be login)" 
                Value=""></asp:Label>
            <br />
            <asp:TextBox ID="email" runat="server" Width="205px"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="FirstName" runat="server" Text="First Name"></asp:Label>
            <br />
            <asp:TextBox ID="first_name" runat="server" Width="205px"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="LastNameLab" runat="server" Text="Last Name"></asp:Label>
            <br />
            <asp:TextBox ID="last_name" runat="server" Width="205px"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="passLab" runat="server" 
                Text="Password (Six Characters.)"></asp:Label>
            <br />
            <asp:TextBox ID="password" runat="server" Width="205px"></asp:TextBox>
            <br />
            <br />
            <br />


<asp:Button ID="ButtonSubmit" OnClick="submit" PostBackUrl="~/registration.aspx" Text="Submit" runat="server" />

<asp:RequiredFieldValidator ID="ReqFieldValFirst" ControlToValidate="first_name" Text="First name is required!" runat="server" />  

<asp:RequiredFieldValidator ID="ReqFieldValLast" ControlToValidate="last_name" Text="Last name is required!" runat="server" /> 

<asp:RequiredFieldValidator ID="ReqFieldValEmail" ControlToValidate="email" Text="Email is required!" runat="server" /> 

<asp:RequiredFieldValidator ID="ReqFieldValPass" ControlToValidate="password" Text="Password is required!" runat="server" /> 

<br />
<br />
<br />

        </form>
     </div>
   </div>
 </body>
</html>

这是 NewRegis.create 出错的代码隐藏文件的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace registration
{
    public partial class NewRegis : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

            if (IsPostBack)
            {

                User NewRegis = new User()
                NewRegis.first_name = first_name.Text;
                NewRegis.last_name = last_name.Text;
                NewRegis.email = email.Text;
                NewRegis.password = password.Text;

                NewRegis.create();

            }
        }
    }
}

我没有包含用户类文件,但如果有帮助,我可以重新加载它。我应以下要求最小化了这篇文章。

对于我所拥有的任何帮助,我将不胜感激。我不知道为什么我一直在 NewRegis.create(); 但是当我将鼠标悬停在 User NewRegis = new User() 中的“用户”上时,提示告诉我'System.Web.UI.Page.User' is a 'property' but is used like a 'type'

4

1 回答 1

0

花了一些时间来完成所有这些;-)

error CS1002: ; expected

正如它所说的那样,意味着您忘记了行尾的终止分号。解决这个问题对你来说应该是微不足道的,对吧?

System.Web.UI.Page.User is a 'property' but is used like a 'type

编译器将您的用户类解释为与 System.Web.UI.Page.User 属性相同。名称冲突。

您可以通过将 User-class 重命名为其他名称来解决它MyUser,而不仅仅是更改命名空间(!)

或者在您的情况下指定类的完整限定名

PET.User NewRegis = new PET.User();
于 2012-11-21T03:36:09.963 回答