根据这牛腩学习敲新闻发布系统已经有一段时间了,挺佩服牛腩的,讲那么多东西,我听着也不觉得枯燥,反而有种,一不留神就会错过很多东西的感觉,所以有些地方也是重复又重复的在看。
这篇博客就总结总结小编在学习牛腩新闻发布系统的时候一些笔记。可能知识还比较原生态,but who cares.现在先提炼出来,以后慢慢的体会和升华吧。
牛腩一部分可以说是和机房相似,也是让我从.net到c#的一个过渡。中间一部分就是讲div +css了。里面的知识说多也不多的,根据不同的需求,它又有各种变形和组合,这加起来就有很多的东西。
我对div+css通俗一点的理解就是给网页做脸面。再啰嗦一句,在学习过程中,做好笔记并且分类总结是很重要的,以前学习没有这个意识,眉毛胡子一把抓,搞的自己也不愿意做笔记总结,更不愿意看。现在抓笔记和总结的思想在慢慢建立,成长着。。。
主题是页面和控件外观属性的集合,她有很多文件组成(.css、images、其他资源等)
一个页面中肯定会有很多的控件组成:比如按钮文件、级联样式表等。
比如搜索框
<div id="search"> 搜索条件: <asp:RadioButton ID="radTitle" GroupName="cond" runat="server" Text=" 标题" Checked="true" /> <asp:RadioButton ID="radContent" GroupName="cond" runat="server" Text=" 内容" /> <asp:TextBox ID="txtKey" runat="server" CssClass="textbox" Height="19px"></asp:TextBox> <asp:ImageButton ID="ibtnSearch" ImageUrl="~/images/search.gif" runat="server" OnClick="ibtnSearch_Click"> </asp:ImageButton> </div>效果:
添加logo和表头图片
<div id="top"> <a href="default.aspx"> <img src="/niunan/images/niunanlogo.jpg" width="160px" alt="logo" /></a> <a href="http://blog.csdn.net/mayfla"> <img src="/niunan/images/tg029logo.gif" width="600px" alt="tglogo" /></a> </div>效果:
添加版权
<div id="footer"> 版权所有 © 徐玲博 &<a href="http://blog.csdn.net/mayfla" target="_blank">CSDN</a> </div>
正文:正文这里可以用div写一个代码块,但是为了使其他不经常变化的控件能达到复用的效果。所以用到了母板页,后面的博客会介绍母板页。
外观属性就是给那些页面或者 控件添加合适的属性,使其达到满足需求和美观的效果。我们添加属性与盒子模型由密切关系,所以在学习添加属性的时候看看盒子模型介绍吧。图片、文字、表格包括浮动、居中、上下左右边距,粗细等属性。
简单举几个例子。在页面排版上,body默认有一个外边距为0.
居中设置
字体设置
其他
border:1px solid #000;/ *边框*/ float:right;/*浮动*/ width:75px;/*宽*/ height:25px;/*高*/
做好了界面,也是要进行的人机交互的。比如点击添加或删除按钮,系统通过代码所作出的反应。
添加按钮代码
//添加新闻按钮 protected void btnAdd_Click(object sender, EventArgs e) { string title = txtTitle.Text.Trim(); string content =ftbContent.Text.Trim(); string caid = ddlCategory.SelectedValue; //TODO参数为什么会有三个? NewsModel n = new NewsModel(); bool b = new NewsBLL().Insert(n); if (b) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('新闻添加成功!')</script>"); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript'defer>alert('新闻添加失败,请联系管理员!')</script>"); } //因为添加新闻成功后,要将文本框都清空 txtTitle.Text = ""; ftbContent.Text = ""; }
//删除按钮 protected void lbtnDelCa_Click(object sender, EventArgs e) { //当前点击的按钮 LinkButton lb = (LinkButton)sender; //获得传过来的commentId string caId = lb.CommandArgument; //删除该类别 bool b = new CategoryBLL().Delete(caId); if (b) { //重新绑定新闻类别 DataTable dt = new CategoryBLL().SelectAll(); repCategory.DataSource = dt; repCategory.DataBind(); } else { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript'defer> alert('类别删除失败,请联系管理员!')</script>"); } }
牛腩讲了很多的技巧,有些是以前知道但不注意的,也有些是新的:
2.1 快捷键:
double table:让代码段轻松呈现。比如if
ctrl+k/d:快速整理代码的格式
2.2 小技巧:
TODO:快速回到前一天结束的代码;视图-用户任务
在工具--调试中,使用开始执行(不调试),可以有效提高效率。并且出错的时候可以直接在页面中看到。
2.3 css
css文件直接拉进aspx中。就可以调用css了。
图片/控件都可以直接拉进aspx类中。
2.4 母板页
使用母板页能减少很多代码重复,达到页面复用的效果
注意:母板页使用母板页的时候(即有两个母板页),要把前一个母板页中的注释删除。
。。。
俗话说,技高人胆大。这些不断的积累,就是你挑战命运的底牌。不断积累ING。。。
在学习过程中,不光学习到很多东西,也遇到了很多的问题。现在看到问题,最想做的就是总结下来,最好能从里面找到规律,把扎堆出错,和出错频率高的错误提取出一套解决方案。
缺少控件:
解决方法:
使用Ajax控件前,要用一个scriptmanager控件
符号/大小写:
在C# 中对于符号和大小写 的应用比.net多的多,所以在写代码的时候一定要注意你用的是全角符号还是半角符号,文字是大写还是小写。
引用问题:
解决方法