摘要:
先看效果 mac os的终端美化看这篇《iTerm2 + Oh My Zsh 打造舒适终端体验》就可以了,接下来我们需要将vsc默认的内置终端由bash改成zsh。 我们还需要修改一下集成的字体,不然会出现乱码。 至此大功告成,enjoy it。 阅读全文
摘要:
一般在一个网站中页面会使用相同的结构和元素,如果每个页面都要重复添加这些元素,不仅繁琐更会给我们后期维护带来大麻烦。所以我们采用网页模板之类的技术,将固定不变的元素放入模板,同时留下一些占位符供页面各自填充不同的内容。在ASP.NET WebForm中这种技术叫母版页,在ASP.NET MVC中它叫... 阅读全文
摘要:
前面两节使用的两种数据验证方法都是在服务器端进行的,也就是提交了表单,数据回传给服务器才能验证。这样会带来两个问题,一是用户体验不好,用户提交了表单之后才知道存在问题;二是会给服务器带来额外的压力。我们可以使用客户端验证来解决这两个问题。客户端验证一般使用Javascript脚本,JQuery.va... 阅读全文
摘要:
将验证规则写在Cotroller里不是一个好办法,这样会显得代码很啰嗦,更重要的是将业务逻辑写入Controller,使得Controller变得更“重”,不符合设计原则。更好的办法是使用验证注解属性,这些属性用于模型类中。打开Message类,添加注解属性。using System.Compone... 阅读全文
摘要:
在使用表单获取用户输入的数据时,我们必须对数据进行有效性验证,因为来自网络的信息都是不可信的。同时也要给用户即时的反馈,避免让用户感到困惑。这就涉及到数据验证的范畴。数据验证最直接的做法是在服务器端对回传的数据加以甄别。在MessageBoard这个demo中,用户留言时昵称和留言内容都不能为空,并... 阅读全文
摘要:
现在我们要把Index视图的留言信息进行分页显示。Step 1. 创建路由我们希望以类似地址http://localhost:41583/Page1来表示第一页,Page2表示第二页,以此类推。在RouteConfig.cs中已有一条默认路由,但不能满足匹配类似/Page1这样的URL。我们要添加一... 阅读全文
摘要:
在前面的教程里,细心的你可能会有个疑问,就是地址栏输入/Home/Write就可以进入留言页面。无论是静态HTML还是ASP/ASP.NET、PHP,URL都是和某个页面相关。比如假设有个URL是“www.xxx.com/index.aspx?id=1",浏览器请求的页面是index.aspx,同时... 阅读全文
摘要:
在上一节我们使用强类型视图改进Write视图获得更好的智能感知和代码重构,现在可以进一步的改进动作方法。Step 1. 数据模型绑定在Save方法中我们使用Request来获取表单传送的值,其实可以将值作为Save的参数传递过来。 public void Save(string nic... 阅读全文
摘要:
上一节我们使用原始的HTML表单来完成留言功能,但是ASP.NET MVC提供了丰富的HTML辅助方法来帮助我们构建更简洁优雅的表单。Step 1. 修改Form标签首先,我们可以使用Html.BeginForm来创建form标签。这样我们可以将原来的表单改成如下代码。 @{Html.Begi... 阅读全文
摘要:
上一节我们将留言列表显示在Index视图里了,现在该添加一个留言的表单,好让用户自己添加留言。首先在HomeController中添加一个名为“Write”的动作方法。 public ActionResult Write() { return Vie... 阅读全文