ASP.NET 母版页和内容页中的事件
母版页和内容页都可以包含控件的事件处理程序。对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中引发事件,母版页中的控件在母版页中引发事件。控件事件不会从内容页发送到母版页。同样,也不能在内容页中处理来自母版页控件的事件。
在某些情况下,内容页和母版页中会引发相同的事件。例如,两者都引发 Init 和 Load 事件。引发事件的一般规则是初始化事件从最里面的控件向最外面的控件引发,所有其他事件则从最外面的控件向最里面的控件引发。请记住,母版页会合并到内容页中并被视为内容页中的一个控件,这一点十分有用。
下面是母版页与内容页合并后事件的发生顺序:
母版页控件 Init 事件。
内容控件 Init 事件。
母版页 Init 事件。
内容页 Init 事件。
内容页 Load 事件。
母版页 Load 事件。
内容控件 Load 事件。
内容页 PreRender 事件。
母版页 PreRender 事件。
母版页控件 PreRender 事件。
内容控件 PreRender 事件。
母版页和内容页中的事件顺序对于页面开发人员并不重要。但是,如果您创建的事件处理程序取决于某些事件的可用性,那么您将发现,了解母版页和内容页中的事件顺序很有帮助。
关于 ......
WebBrowser控件 打印2
WebBrowser是IE内置的浏览器控件,无需用户下载.
一、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<style type="text/css" media=print>
.noprint{display : none }
</style>
然后 ......
asp.net 发布网站时有三个选项:
1、允许更新此预编译站点:asp.net web 页面通常包含两个页面,一个即 .aspx 页,还有一个 .aspx.cs 文件,后一个文件是基本委托的事件响应文件代码;此处允许更新此预编译站点的意思就是:.aspx 页可根据需要进行一定的更新,而 .aspx.cs 编译成的 .dll 保持不变;另外,如果发布网站时只选此一项的话,Bin 文件夹 .dll 文件的生成规则:a、以文件夹为单位;b、用户控件;c、模板页(.master);
2、使用固定命名和单页程序集:这个和原来的差别就是,Bin 文件夹 .dll 文件生成规则变为,每个 .aspx.cs 页生成一个 .dll 文件;这里发布的时候最好第一项也选上,便于修改一些简单的页面;
3、对预编译程序集使用强命名:包括两个选项,a、使用由强名称工具生成的密钥文件;b、使用密钥容器;这个暂时没用到,不作过多的说明 ......
关于需要用到的JS文件请到地址:http://d.download.csdn.net/down/2387457/taomanman免费下载;
下面介绍其使用方法:
第一步:
到我提供的地址下载JS文件,并解压到项目某个目录下,你自己定啦。
第二步:
在需要用到时间控件的aspx页面中添加该JS文件中的WdatePicker.js文件。
如<script src="../JS/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
接着就是添加两个文本框,这个时间控件是利用TextBox进行改造而成的,添加代码如下:
<asp:panel id="Panel1" style="width: 100%" runat="server" >
起始时间<input id="tbStartTime" type="text" runat="server" style="width: 102px" />
截止时间<input id="tbEndTime" type="text" runat="server" style="width: 102px" />
<asp:Button ID="btnQuery" runat="server" Text="查询" onclick="btnQuery_Click" />
</asp:panel>
第三步:
在后台aspx.cs文件中添加如下代码:
protected void Page_Load(object sender, EventArgs e)
......
这两天看《道不远人-----深入解析ASP.NET2.0控件开发》这本书,看完第二章内容后,想总结下“设置自定义ASP.NET服务器控件TagPrefix的几种方法”,以便以后查阅,以下面code编写的控件为例,由于重点不是控件编写,所以写了个非常简单的控件,姑且叫它EmailInput
Code
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Text;
5using System.Web;
6using System.Web.UI;
7using System.Web.UI.WebControls;
8
9namespace ServerControl
10{
11 [ToolboxData("<{0}:EmailInput runat=server></{0}:EmailInput>")]
12 public class EmailInput : CompositeControl
13 {
14 protected RegularExpressionValidator _regValidator;
15 protected RequiredFieldValidator&n ......
一、使用QueryString参数
QueryString将传递的值显示在浏览器的地址栏中,是一种非常简单也使用比较多的传值方式。
如果传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法
/// <summary>
/// 使用QueryString变量
/// </summary>
/// <param name="param1"></param>
/// <param name="param2"></param>
//sourcePage
Response.Redirect("target.aspx?param1 = hello¶m2 = hi");
//targetPage
string str1 = Request.QueryString["param1"];
string str2 = Request.QueryString["param2"];
二、使用cookie对象变量
cookie存放在客户端中
//setting cookie
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.value = txtName.Text.Trim();
Response.AppendCookie (cookie_name);
//get cookie
string name = Request.Cookie["name"].Value.ToString();
三、使用session变量
session存放在服务器中,如果连接超时等情况,有可能会发生数据丢失
//setting session
Session["name"] = "hello";
//get session
string name = Sessio ......