学习PetShop3.0(2)用户注册(CreateAccount.aspx)

转载 2006年06月21日 16:09:00

通过点击SignIn.aspx里的Register Now,转到CreateAccount.aspx

1)我的帐户(My Account)的填写,没什么值得介绍的,就是三个textBox加三个equiredFieldValidator。很简单。输入完成了,后台调用WebComponents.CleanString.InputText(string inputString, int maxLength),进行字符传的规则,这点和登陆的时候是一样的。估计是为了程序的简单,或者微软认为CustomerValidator不属于这个例子要说明的东西,输入字符串的规则没有用控件来检验,就是说对于Email的输入都可以是一个字符,只要非空就行。

2)我的地址(My Address)的填入。例子里做了个UserControl。因为有多处需要用到,例如Account的修改,定单的地址等。例子对于Address也建了Model类,有上面提到的AddressUI控件的一个属性的返回值来实例化。该属性有get,set方法。Account修改的时候,从数据库里返回用户信息的可以直接用一个AddressInfo对象来赋值。这一点有点象JSF,将一个datatable控件和后台的一个bean绑定。

3)我的爱好(My Preferences)的填入。和My Address的填入一样,做了一个UserControl,略微不同的是没有对Preferences来建model类,只写了四个属性,用来访问LanguageCategoryIsShowFavoritesIsShowBanners然后用这个AddressInfo对象,和上面的四个属性来实例化AccountInfo

4)写入数据库,利用CreateAccount(AccountInfo newAccountInfo)。成功则把新的用户信息写人Session,并设置通过验证,跳转页面default.aspx

 
public bool CreateAccount(AccountInfo newAccountInfo){
            
try {
                Account account 
= new Account();
                account.Insert(newAccountInfo);
                HttpContext.Current.Session[ACCOUNT_KEY] 
= newAccountInfo;
                FormsAuthentication.SetAuthCookie(newAccountInfo.UserId, 
false);
                HttpContext.Current.Response.Redirect(URL_ACCOUNTCREATE, 
true);
            }
catch {
                
return false;
            }
            
return true;
        }
  
     5BLL.account.Insert(newAccountInfo)和登陆是的SignIn函数一样。利用一个DALFactory和反射,对Accout实例化。剩下的就只是简单的数据库访问了。
public void Insert(AccountInfo account) {
            
if (account.UserId.Trim() == string.Empty)
                
return;
            IAccount dal 
= PetShop.DALFactory.Account.Create();
            dal.Insert(account);
        }    

      6) 对于AccoutID的重复问题,没有做过多判断,只利用主键来做判断,如果重复BLL.account.Insert(newAccountInfo)返回false。界面输出“Duplicate user ID! Please try again”,微软似乎认为新建帐户错误的原因只有重复用户。

    7) 成功登陆转到MyAccount.aspx页面。MyAccount.aspx有一个blockquoteHtml标记,是向右缩排标签,问题不是很大。唯一要注意的后台代码中OnLoad事件,根据action后的查询字符串显示不同的成功信息,分新建帐户,更新帐户,登陆帐户。

case "create":
                lblMessage.Text 
= "Your account was successfully created.";
                
break;
            
case "update":
                lblMessage.Text 
= "Your account was successfully updated.";
                
break;
            
case "signIn":
                lblMessage.Text 
= "Welcome to the .NET Pet Shop Demo.";
                
break;


学习PetShop3.0(1)用户注册

----msdn上关于PetShop3.0的介绍---- ----网上高手的PetShop3.0数据层设计分析报告---- 关于该系统的大致介绍可以从上面的连接获得,都是中文的。下面来分析一下PetS...
  • newwshy
  • newwshy
  • 2006年06月16日 08:02
  • 866

学习PetShop3.0用户注册

----msdn上关于PetShop3.0的介绍---- http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/build...
  • wbuild
  • wbuild
  • 2007年09月30日 08:43
  • 558

学习PetShop3.0(2)宠物展示

  宠物展示,也就是商品展示涉及到这个主题的页有Category.aspx / Items.aspx / ItemDetails.aspx,分别是大类/小类/详细信息这三个。下面来一个一个的分析要注意...
  • shuilv2000
  • shuilv2000
  • 2008年10月09日 11:04
  • 340

学习PetShop3.0(2)宠物展示

宠物展示,也就是商品展示(汗……)涉及到这个主题的页有Category.ASPx / Items.aspx / ItemDetails.aspx,分别是大类/小类/详细信息这三个。下面来一个一个的分析...
  • newwshy
  • newwshy
  • 2006年06月16日 08:16
  • 692

.NET三层经典架构PetShop3.0分析之数据访问层

关于一些Microsoft PetShop的来由、如何安装,所表现业务流程,数据库表结构等基本的信息的资料请大家参考下面文章 http://msdn.microsoft.com/library/en-...
  • zhoufoxcn
  • zhoufoxcn
  • 2006年11月09日 09:42
  • 1981

学习petshop3.0(一)

----msdn上关于PetShop3.0的介绍---- http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/build...
  • shuilv2000
  • shuilv2000
  • 2008年10月09日 10:43
  • 377

学习PetShop3.0(7)SimplePager

看一下SQLServerDAL,前面有高人说了,那个SQLHelper类似于daab for .net,因此在这里我就不多话了,对daab for .net的讨论可以参看msdn的相关文章。来看Acc...
  • newwshy
  • newwshy
  • 2006年06月16日 09:55
  • 569

学习PetShop3.0(6)实体模型

还记得用户注册时收集信息的方式吗?下面这几句://......AddressInfo address = addr.Address;//.....AccountInfo accountInfo = n...
  • shuilv2000
  • shuilv2000
  • 2008年10月10日 14:08
  • 305

学习PetShop3.0(7)SimplePager

  看一下SQLServerDAL,前面有高人说了,那个SQLHelper类似于daab for .net,因此在这里我就不多话了,对daab for .net的讨论可以参看msdn的相关文章。来看A...
  • shuilv2000
  • shuilv2000
  • 2008年10月10日 14:12
  • 323

学习PetShop3.0(8)数据访问

看一下SQLServerDAL,前面有高人说了,那个SQLHelper类似于daab for .net,因此在这里我就不多话了,对daab for .net的讨论可以参看msdn的相关文章。来看Acc...
  • shuilv2000
  • shuilv2000
  • 2008年10月10日 14:13
  • 325
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习PetShop3.0(2)用户注册(CreateAccount.aspx)
举报原因:
原因补充:

(最多只允许输入30个字)