根据这牛腩学习敲新闻发布系统已经有一段时间了,挺佩服牛腩的,讲那么多东西,我听着也不觉得枯燥,反而有种,一不留神就会错过很多东西的感觉,所以有些地方也是重复又重复的在看。
这篇博客就总结总结小编在学习牛腩新闻发布系统的时候一些笔记。可能知识还比较原生态,but who cares.现在先提炼出来,以后慢慢的体会和升华吧。
牛腩一部分可以说是和机房相似,也是让我从.net到c#的一个过渡。中间一部分就是讲div +css了。里面的知识说多也不多的,根据不同的需求,它又有各种变形和组合,这加起来就有很多的东西。
我对div+css通俗一点的理解就是给网页做脸面。再啰嗦一句,在学习过程中,做好笔记并且分类总结是很重要的,以前学习没有这个意识,眉毛胡子一把抓,搞的自己也不愿意做笔记总结,更不愿意看。现在抓笔记和总结的思想在慢慢建立,成长着。。。
一、主题
主题是页面和控件外观属性的集合,她有很多文件组成(.css、images、其他资源等)
1、页面
一个页面中肯定会有很多的控件组成:比如按钮文件、级联样式表等。
比如搜索框
<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写一个代码块,但是为了使其他不经常变化的控件能达到复用的效果。所以用到了母板页,后面的博客会介绍母板页。
2、控件外观属性
外观属性就是给那些页面或者 控件添加合适的属性,使其达到满足需求和美观的效果。我们添加属性与盒子模型由密切关系,所以在学习添加属性的时候看看盒子模型介绍吧。图片、文字、表格包括浮动、居中、上下左右边距,粗细等属性。
简单举几个例子。在页面排版上,body默认有一个外边距为0.
居中设置
字体设置
其他
border:1px solid #000;/ *边框*/
float:right;/*浮动*/
width:75px;/*宽*/
height:25px;/*高*/
3、方法
做好了界面,也是要进行的人机交互的。比如点击添加或删除按钮,系统通过代码所作出的反应。
添加按钮代码
//添加新闻按钮
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多的多,所以在写代码的时候一定要注意你用的是全角符号还是半角符号,文字是大写还是小写。
引用问题:
解决方法