标签:style blog http color 使用 os io strong
小知识点:
1. W7自带 .NetFrameWork 3.5, 兼容模式为 高版本号兼容低版本号;
2. WF和WPF都是基于XAML的,可是两者的用途不同。
WF是一种开发框架,将工作流嵌入在.NET Framework应用程序中,所主要用于开发创建工作流应用程序。WF:http://msdn.microsoft.com/zh-cn/library/ms734696.aspx
WPF是一种渲染UI的技术是一个用于Windows平台的全新的图形显示系统,它包括在.NET Framework中,使用户可以生成融入了.NET Framework类库的元素的桌面应用程序。WPF:http://msdn.microsoft.com/zh-cn/library/ms742119(v=vs.100)
Response.Redirect(url);
Request.QueryString[""];
2.使用Session变量
Session["name"]=TextBox.Text;
Server.Transfer("WebForm2.aspx");
Label2.Text=Session["name"].ToString();
Session.Remove("name");
3.使用Server.Transfer
演示样例1:
get
private void Button1_Click(object sender,System.EventArgs e)
{
Server.Transfer("WebForm2.aspx");
}
在WebForm2.aspx中务必在第一句话加入<%@ Reference Page="~/WebForm1.aspx" %>或<%@ PreviousPageType VirtualPath="~/WebForm1.aspx" %>
然后在WebForm2.aspx.cs中加入
WebForm1 wf1;
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
演示样例2:
这个才干够说是 面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到还有一个页面中,新的页面使用前一个页面的应答流,所以这个方 法是全然面象对象的,简洁有效。以下这个代码是展示在须要非常多个參数的时候,使用的方法,假设參数比較少就不是必需使用这种方法了.
假设让全部的查询页面都继承一个接口,在该接口中定义一个方法,该方法的唯一作用就是让结果页面获得构建结果时所需的參数,就可实现多页面共享一个结果页面操作!
1、先定义一个类,用该类放置全部查询參数:
2、接口定义:
3、查询页面继承IQueryParams接口(QueryPage.aspx):
QueryPage.aspx
QueryPage.aspx.cs
演示样例:仍然是源页面WebForm1.aspx和目标页面WebForm2.aspx.
WebForm1.aspx中的部分代码:
<asp:ButtonID="btnPostBack" Runat="server" Text="PBButton"></asp:Button>
<asp:TextBoxID="txtName" Runat="server" ></asp:TextBox>
<asp:CalendarID="Calendar1" runat="server"></asp:Calendar>
WebForm2.aspx.cs中的部分代码:
protected void Page_Load(objectSender,System.EventArgs e)
{
TextBoxtxtName;
Calendarcalendar1;
txtName=(TextBox)PreviousPage.FindControl("txtName");
calendar1=(Calendar)PreviousPage.FindControl("Calendar1");
Label.Text="Hello,"+txtName.Text+calendar1.SelectedDate.ToShortDateString();
}
使用这样的方法存在一个问题:假设在没有单击那个button之前,也就是未处理WebForm1.aspx之前,有人请求了WebForm2.aspx,该怎么办?这就须要在WebForm2.aspx中的代码处理之前加一个推断.使用IsCrossPagePostBack属性,这与IsPostBack 属性非常相似,它同意检查请求是否来自WebForm1.aspx.例如以下:
protected void Page_Load(objectSender,System.EventArgs e)
{
if(PreviousPage.IsCrossPagePostBack)
{
TextBox txtName;
Calendar calendar1;
txtName=(TextBox)PreviousPage.FindControl("txtName");
calendar1=(Calendar)PreviousPage.FindControl("Calendar1");
Label.Text="Hello,"+txtName.Text+calendar1.SelectedDate.ToShortDateString();
}
else
{
Response.Redirect("WebForm1.aspx");
}
}
5.使用@PreviousPageType指令
TypeName:设置回送时的派生类名
VirtualPath:设置回送时所传送页面的地址.
WebForm1.aspx
get{returnthis.txtName;}//返回一个控件对象
<%@ PreviousPageTypeVirtualPath="~/Page1.aspx"%>,
然后就能引用WebForm1.aspx中定义的属性了.
在WebForm2.aspx.cs中能够有例如以下引用形式(如果WebForm2.aspx中有一个ID为lblName的Label):
lblName.Text="Hello"+PreviousPage.Name.Text+"<br/>";
6. 使用Cookie对象变量
与Session一样,是对每个用户而言的,可是有个本质的差别,即Cookie是存放在client的,而session是存放在server端的。并且Cookie的使用要配合ASP.NET内置对象Request来使用
设置Cookie: HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
获取Cookie:
string name= Request.Cookie["name"].Value.ToString();
7. 使用Application 对象变量
Application对象的作用范围是整个全局,也就是说对全部用户都有效。其经常使用的方法用Lock和UnLock。
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
标签:style blog http color 使用 os io strong
原文地址:http://www.cnblogs.com/mfrbuaa/p/3893076.html