不浪费自己的时间,同时也不浪费别人的时间
2008-03-30 00:52
274 查看
或许我很少在这里写东西,因为我要写一些对大家有用的东西,不想浪费自己写的时间,更不想浪费别人看的时间。
今天看了一编帖子,大概内容如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.master.cs" Inherits="Main" MasterPageFile="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>主母版页</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<div style="border-style: dashed; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: xx-large; font-weight: 100; font-style: normal; font-variant: normal; text-transform: capitalize; color: #FF0000">主要的母版页!</div>
<br />
<div align="center"
style="font-family: 宋体, Arial, Helvetica, sans-serif; font-size: large; font-weight: 400; font-style: italic">Hi!欢迎您使用ASP.NET3.5!<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<div align="center" style="border-style: ridge">版权所有,违者必究! 浙江新能量科技有限公司2008</div>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
public partial class Main : System.Web.UI.MasterPage,IMasterData
{
public int BtnCount
{
get
{
return this.ViewState["BtnCount"] == null ? 0 : Convert.ToInt32(this.ViewState["BtnCount"]);
}
set
{
this.ViewState["BtnCount"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
this.BtnCount++;
}
}
其中IMasterData
接口的代码如下:
/// <summary>
///母版页的数据
/// </summary>
public interface IMasterData
{
int BtnCount { get; set; }
}
方法一:
在内容页面中使用:
((Main)this.Page.Master).BtnCount;
此方法不推荐,灵活程度很低,万一哪天BtnCount或者Main更改了,或者是在多个母版页之中选择,这行代码就很危险。
方法二:
在内容页面中使用:
((IMasterData)this.Page.Master).BtnCount;
推荐,定义一个接口,通过接口来调用要调用的成员,针对接口编程,好处不用我说了。
方法三:
在内容页面中使用:
this.Page.Master.GetType().GetProperty("BtnCount").GetValue(this.Page.Master, null)
这是一种相对灵活的方法,在编译的时候无法判断错误的方法,特殊情况下可以考虑使用此方法。
方法四:
override object SaveViewState()和override void LoadViewState(object savedState)
说的是,获取母亲的属性,这里我想说的是,是先有父母,还是先有儿子,如果先有父母,何谈变化,如果没有变化,方法二三四的执行效率是那一个高呢,这个大家应该很清楚。
是不是啥东西都需要变化呢,如果需要应对变化,省级、市级、县级的数据库难道就要设计很多张表吗?一些理论的东西只适应一定的范围,如果超出了这个范围就无从谈起了
今天看了一编帖子,大概内容如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.master.cs" Inherits="Main" MasterPageFile="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>主母版页</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<div style="border-style: dashed; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: xx-large; font-weight: 100; font-style: normal; font-variant: normal; text-transform: capitalize; color: #FF0000">主要的母版页!</div>
<br />
<div align="center"
style="font-family: 宋体, Arial, Helvetica, sans-serif; font-size: large; font-weight: 400; font-style: italic">Hi!欢迎您使用ASP.NET3.5!<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<div align="center" style="border-style: ridge">版权所有,违者必究! 浙江新能量科技有限公司2008</div>
</div>
</form>
</body>
</html>
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
public partial class Main : System.Web.UI.MasterPage,IMasterData
{
public int BtnCount
{
get
{
return this.ViewState["BtnCount"] == null ? 0 : Convert.ToInt32(this.ViewState["BtnCount"]);
}
set
{
this.ViewState["BtnCount"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
this.BtnCount++;
}
}
其中IMasterData
接口的代码如下:
/// <summary>
///母版页的数据
/// </summary>
public interface IMasterData
{
int BtnCount { get; set; }
}
方法一:
在内容页面中使用:
((Main)this.Page.Master).BtnCount;
此方法不推荐,灵活程度很低,万一哪天BtnCount或者Main更改了,或者是在多个母版页之中选择,这行代码就很危险。
方法二:
在内容页面中使用:
((IMasterData)this.Page.Master).BtnCount;
推荐,定义一个接口,通过接口来调用要调用的成员,针对接口编程,好处不用我说了。
方法三:
在内容页面中使用:
this.Page.Master.GetType().GetProperty("BtnCount").GetValue(this.Page.Master, null)
这是一种相对灵活的方法,在编译的时候无法判断错误的方法,特殊情况下可以考虑使用此方法。
方法四:
override object SaveViewState()和override void LoadViewState(object savedState)
说的是,获取母亲的属性,这里我想说的是,是先有父母,还是先有儿子,如果先有父母,何谈变化,如果没有变化,方法二三四的执行效率是那一个高呢,这个大家应该很清楚。
是不是啥东西都需要变化呢,如果需要应对变化,省级、市级、县级的数据库难道就要设计很多张表吗?一些理论的东西只适应一定的范围,如果超出了这个范围就无从谈起了
相关文章推荐
- 只学一点点:我的技术学习策略(虽然不赞同,但可以参考一下,针对不常用的技术可以这样,同时可以:寻找遁去的一,不用管别人怎么想;有学习的时间,不如自己写、自己实践,否则学完了都不知道是什么东西)
- 花自己的时间,给别人踩坑,
- 2015072203 - 要求别人的同时更得严格要求自己
- 怎样在百度地图上标注上自己公司的名称使别人能在搜索百度地图的同时在地图上能看见本公司地址?
- if you are not making someone else's life better, then you are wasting your time.– Will Smith如果你不能给别人的生活带来改善,那么你就是在浪费你的宝贵时间。 --威尔 史密斯(程序员,你做的东西...)
- 没有别人聪明不可怕,可怕的是别人比你聪明也比你勤奋(活着总要为自己负责,而且首先是对自己的时间负责)
- 今天晚上主要练习下.NET数据库方面的内容,同时开始正常作息时间,尽量让自己1点前睡
- 第一篇文章:留给自己时间,但也不要浪费自己。
- 发扬广大自己的优点,不要浪费时间努力改正自己的缺点
- 如果你不能给别人的生活带来改善,那么你就是在浪费你的宝贵时间
- 随想(二):简化别人的工作,就是简化自己的工作,节省自己的时间
- 管理故事216之018-贪婪在毁灭了别人的同时,也毁灭了自己
- 在 ubuntu 14.04 上安装 YouCompleteMe( 自己看的操作笔记, 路人请勿看, 避免浪费时间 )
- 面试别人的同时也想到自己如果是个面试者
- 别人的嘴巴,自己的道路
- 如何让别人在搜索引擎找到自己的博客
- 从程序员到项目经理(12):如何管理自己的时间(上)【转载】
- 同时抓取带时间的logcat和kernel log的方法
- [书籍推荐]为了自己的钱包,为了自己的时间——分享一下自己的淘书经验