【Asp.Net MVC 以小见大】一步一步改写简单的登录注册(一)

news/2024/7/9 15:50:13 标签: 测试, 数据库

       写这篇文章其实心里是比较忐忑的,确实Asp.Net MVC框架出来了很长时间了,我这篇文章稍有过时之嫌。不过本着分享学习的态度,还是写一写吧。MVC框架的文章园子里已经很多了,想专题中的重典、老赵、子秋、老代等人都写过,我一直想找一个不同的切入点,于是就产生了从一个小例子写起的想法,毕竟一个复杂的应用是由N多相对简单的应用组成的。废话不多说,进入正题。

      首先,建立一个数据库Test,建立一张表UserInfo,字段如下:

      

      然后,很自然打开vs2008,建立一个Asp.Net MVC项目:

      

      接下来,在项目中新建一个Linq to Sql类,把建立的表拖进来,起个名字,我是用的Test.dbml。对于MVC来说,最基本的就是三件事:1、配置Routing;2、创建View;3、创建Controller,如果有的朋友对这几个还是不太明白的话,建议去看下重典的教程http://www.cnblogs.com/chsword/archive/2008/03/10/dotnetmvcframework.html。
      下一步,我们就开始一个一个添加,首先在Views里创建几个View:

      

      对于第一讲来说,我们就用到了Index.aspx和Register.aspx,后面我们会陆续的完善,然后创建Controller:

      

      最后配置Routing,这里的规则就比较简单了:

ContractedBlock.gif ExpandedBlockStart.gif Routing规则
 1public static void RegisterRoutes(RouteCollection routes)
 2ExpandedBlockStart.gifContractedBlock.gif{
 3    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
 4
 5    routes.MapRoute(
 6    "Default",                                              // Route name
 7    "{controller}/{action}/{id}",                           // URL with parameters
 8ExpandedSubBlockStart.gifContractedSubBlock.gif    new { controller = "User", action = "Index", id = "" }  // Parameter defaults
 9    );
10}

 

      现在我们完成了三件最基本的工作,接下来就要在View和Controller中写点儿东西了,为了简单起见,Index.aspx中就只有两个链接:

1 < body >
2      < div >
3          <% = Html.ActionLink( " 登录 " , " Login " %> < br  />
4          <% = Html.ActionLink( " 注册 " , " Register " %>
5      </ div >
6 </ body >

      其中Html.ActionLink中的两个参数,第一个是超链接显示出来的文本,第二个则是提交到这个Controller的哪个Action中,再写一个注册页面,同样就是力求简单:

ContractedBlock.gif ExpandedBlockStart.gif Register.aspx页面
 1<body>
 2    <%=ViewData["Message"%>
 3    <div>
 4ExpandedBlockStart.gifContractedBlock.gif        <%Html.BeginForm("Register""User"); %>
 5        用户名:<%=Html.TextBox("txtName"%><br />
 6        密  码:<%=Html.Password("txtPwd"%><br />
 7        <input type="submit" value="提交" />
 8ExpandedBlockStart.gifContractedBlock.gif        <%Html.EndForm(); %>
 9    </div>
10</body>

      这个ViewData["Message"]是为了显示一些提示信息用的,当然,以后替换成Ajax是必然的。下一步,在Services文件夹中建立接口IUerService,然后写一个实现类UserService,里面写的无外乎就是关于User的添加和一些简单的验证,就以添加来说:

1 public   void  InsertUser(UserInfo user)
2 ExpandedBlockStart.gifContractedBlock.gif {
3     tdc.UserInfo.InsertOnSubmit(user);
4     tdc.SubmitChanges();
5}

      这些都准备好以后,我们只要写Controller就可以了:

ContractedBlock.gif ExpandedBlockStart.gif Controller代码片段
 1public ActionResult Register()
 2ExpandedBlockStart.gifContractedBlock.gif{
 3     if (us.CheckInput(this.UserName,this.UserPwd))
 4ExpandedSubBlockStart.gifContractedSubBlock.gif     {
 5           if (us.IsExist(this.UserName))
 6ExpandedSubBlockStart.gifContractedSubBlock.gif           {
 7               UserInfo user = new UserInfo();
 8               user.UserName = this.UserName;
 9               user.UserPwd = this.UserPwd;
10               us.InsertUser(user);
11               ViewData["Message"= "添加成功!";
12
13           }

14           else
15ExpandedSubBlockStart.gifContractedSubBlock.gif           {
16               ViewData["Message"= "用户已存在";
17           }

18      }

19      return View();
20}

      写完之后,运行下,我们的第一个Asp.Net MVC的注册就完成了,后面我会对这个简单的应用做进一步的修改,希望对刚接触MVC的朋友有所帮助,也希望大家在评论中多发表修改意见。那么今天就先到这里:)

      代码在这里/Files/1231net/FirstMvc.rar

转载于:https://www.cnblogs.com/1231net/archive/2009/07/09/1520115.html


http://www.niftyadmin.cn/n/675115.html

相关文章

好股票收集

普洛康裕泸天化 深圳 000912 新农开发 三峡水利 上海 600116 襄阳轴承 深圳 000678 中集集团 深圳 000039 29.45 0.67 2.33% 中集B 深圳 200039 丰原生化 深圳 000930 8.40 0.36 4.48% 2007-06-11 15:05:34 中集ZYP1&#xff08;深圳,038006&#xff09; 当前价:4.632 涨跌幅…

mysql5.7.17.zip教程,Mysql学习win10下mysql 5.7.17 zip压缩包版安装教程

搜索热词《MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程》要点&#xff1a;本文介绍了MysqL学习win10下MysqL 5.7.17 zip压缩包版安装教程&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。MysqL5.7.17安装教程分享给大家,供大家参考,具体内容如下MysqL.c…

买到招行CMP1一天赚90

收益率前10名选手持股一览表&#xff08;6月8日&#xff09;资金账号 实际操作者收益率今日持股 操作7220 周先生 149% 杭萧钢构7349 张振宇 106% 无 卖招行CMP17313 郑平安 27% 吉林敖东皖维高新7038 阮杰代理 23% 华联控股7280 阮杰代理 22% 西飞国际6958 叶易凡 20% 西飞…

如何把握权证的买点和卖点?

是在经验的基础上不断 假设验证的过程 拿一千元&#xff0c;不管沽购拼命折腾&#xff0c;等你把那一千元亏完了&#xff0c;那你基本就是合格了今天买了包钢如何买权证呀&#xff1f;这里先谢谢了&#xff01;一直都分不清权证认购与认沽是怎么一回事&#xff1f;各位能否指教…

zbacktrace php,如何在lldb中的实时运行脚本上转储PHP回溯?

我正在玩LLDB (debugger),我做了以下实验.>运行PHP脚本为&#xff1a;php -r "sleep(1000);"要么&#xff1a;php -r "function r(){sleep(1000);}r();">在另一个控制台上,我直接从lldb调用zif_debug_backtrace()&#xff1a;echo call (void)zif_de…

DIV垂直居中 (转)

第一种方法&#xff1a; 1<style type"text/css">2<!-- 3#middle 4{}{ 5 background:blue; 6 position:absolute; 7 left:expression((body.clientWidth-50)/2 "px"); 8 top:expression((body.clientHeight-50)/2 &quo…

如何买权证?

用炒股的的可以,还需要本人到开户交易所开通权证交易,然后就可以象炒股票一样买卖权证了. 用 炒股的账户即可,权证是发行人与持有人之间的一种契约关系&#xff0c;持有人有权利在某一约定时期或约定时间段内&#xff0c;以约定价格向权证发行人购买或出售一定数量的资产 &…

SQL Server 2005参考:PIVOT

SQL Server 2005参考&#xff1a;PIVOT 可以使用 PIVOT 和 UNPIVOT 关系运算符对表值表达式进行操作以获得另一个表。 (1)PIVOT 通过将表达式某一列中的唯一值转换为输出中的多个列来转换表值表达式&#xff0c;并在必要时对最终输出中所需的任何其余的列值执行聚合。 (2)UNPIV…