【2017年整理】c#web页面传值的方法和一些实用技巧

上传人:豆浆 文档编号:987645 上传时间:2017-05-24 格式:DOC 页数:8 大小:44.50KB
返回 下载 相关 举报
【2017年整理】c#web页面传值的方法和一些实用技巧_第1页
第1页 / 共8页
【2017年整理】c#web页面传值的方法和一些实用技巧_第2页
第2页 / 共8页
【2017年整理】c#web页面传值的方法和一些实用技巧_第3页
第3页 / 共8页
【2017年整理】c#web页面传值的方法和一些实用技巧_第4页
第4页 / 共8页
【2017年整理】c#web页面传值的方法和一些实用技巧_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《【2017年整理】c#web页面传值的方法和一些实用技巧》由会员分享,可在线阅读,更多相关《【2017年整理】c#web页面传值的方法和一些实用技巧(8页珍藏版)》请在金锄头文库上搜索。

1、. 一.使用 Cookie对象变量(Cookie 是存放在客户端的)设置 Cookie: HttpCookie cookie_name = new HttpCookie(name);cookie_name.Value = Label1.Text;Reponse.AppendCookie(cookie_name);获取 Cookie:string name= Request.Cookiename.Value.ToString();二. 使用 QueryString变量QueryString 是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安

2、全性要求不高或是结构简单的数值时,可以使用这个方法。Response.Redirect( target.aspx?param1=hello¶m2=hi ) 接收页面: string str = Request.QueryStringparam1; string str1 = Request.QueryStringparam2;三. 使用 Session变量(session 是存放在服务器端的)设置 Session: Sessionname =hello;获取 Session: string name = Sessionname.ToString();四.使用 Application 对

3、象变量Application 对象的作用范围是整个全局,也就是说对所有用户都有效。此种方法不常使用,因为 Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。 设置 Application : Applicationname = =hello;获取 Application : string name = Applicationname.ToString();五. PostBackUrl()方法default.aspx页面:Code1 2default2.aspx页面:Code1 if (PreviousPage != null)2 3

4、 TextBox textBox1 = (TextBox)PreviousPage.FindControl(TextBox1);4 Response.write(textBox1.Text );5 六.使用 Server.Transfer方法这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。下面这个代码是展示在需要很多个参数的时候,使用的方法,如果参数比较少就没必要使用这个方法了.如果让所有的查询页面都继承一个接口,在该接口中定义一个方法,该方法的唯一作用就

5、是让结果页面获得构建结果时所需的参数,就可实现多页面共享一个结果页面操作!1、先定义一个类,用该类放置所有查询参数:Code/*/ / QueryParams 的摘要说明/ public class QueryParams private string firstName; private string lastname;private int age;public string Firstname get return this.firstname; set this.firstname = value; public string LastName get return this.last

6、name; set this.lastname = value; public string Ageget return this.age; set this.age = value; 2、接口定义:Code/*/ / 定义查询接口。 / public interface IQueryParams/*/ / 参数 / QueryParams Parameters get;3、查询页面继承 IQueryParams接口(QueryPage.aspx):QueryPage.aspxCodeQueryPage.aspx.csCodepublic partial class QueryPage : S

7、ystem.Web.UI.Page, IQueryParams private QueryParams queryParams;public QueryParams Parameters get return queryParams; public void btnEnter_Click(object sender, System.EventArgs e) /赋值 queryParams = new QueryParams();queryParams.FirstnName = this.txtFirstName.Text;queryParams.Lastname = this.txtLastN

8、ame.Text;queryParams.Age = this.txtAge.Text;Server.Transfer( ResultPage.aspx ); protected void Page_Load(object sender, EventArgs e) 4、接收页面(ResultPage.aspx):ResultPage.aspx.cspublic partial class ResultPage : System.Web.UI.Pageprotected void Page_Load(object sender, EventArgs e)QueryParams queryPara

9、ms = new QueryParams();IQueryParams queryInterface;/实现该接口的页面 if (Context.Handler is IQueryParams)queryInterface = (IQueryParams)Context.Handler;queryParams = queryInterface.Parameters;Response.Write(FirstName: );Response.Write(queryParams.FirstName);Response.Write( Lastname: );Response.Write(queryPa

10、rams.LastName); Response.Write( Age: );Response.Write(queryParams.Age);1、在 CallBack之后保持滚动条的位置在 Asp.Net1.1中,CallBack 之后保持滚动条的位置是一件非常痛苦的事情,特别是页中有一个 Grid并且想要编辑特定的行。为了不停留在想要得行,页面会重新加载并且必须在顶部向下滚动。在 Asp2.0中,只需要简单的在页面的属性中加入 MaintainScrollPostionOnPostBack属性即可:2、页面加载后设置默认焦点到控件上这也是一个非常简单的例子,不需要 javascript的辅助

11、即可完成。如果在页面中有一两个 textbox,为什么要让用户去点击 textbox来开始输入数据呢?是不是可以能够让光标已经停留在 textbox进而可以输入数据呢?使用 HtmlForm控件的 DefaultFocus属性就可以轻易的做到:3、用户点击“Enter”键时触发默认按钮的 click事件。在 Asp1.1中,想要使用户点击“Enter”键就能关联到一个 button的服务器段的 click事件需要借助于 javascript,这是很痛苦的。幸好,现在可你使用HtmlForm控件的 DefaultButton属性来设置。这个属性也可以设置到 Panel控件上,当用户移动到页面中不

12、同的 Panel上,点击 enter键来触发不同的button控件的 click事件。4、简单的寻找固定的控件。在页面的控件中按层次寻找控件很痛苦,但是如果你知道控件怎样固定在页面中,就可以用简写”$”来查找控件而不用写递归的代码。请看下面代码,注意”$”的使用:Name: / 这个小技巧也可以用在服务器端的 使用 FindControl()函数时:TextBox tb = this.FindControl(form1$formVw$txtName) as TextBox;if (tb != null)/Access TextBox control5、强类型访问跨页提交的控件这个比其他的要内容

13、多一点,但是很有用。ASP.NET 2.0 引入了交叉回发的概念使得一个页面可以将信息回发到另一个不同的页面,可以将 button控件的PostBackUrl属性设置为接受回发数据的页面来完成。一般的,回发的数据可以象前一页那样做一些事情。但是,如果你要获得前一页制定控件的属性就需要一个 cast(),如果你给引起回发的 code-behide页面添加了一个公共属性,你就可以直接以强类型的方式添加 PreviousPageType来指向引起回发的页面从而能够访问那个属性。如果有一个页面 Default.aspx,他有一个公共属性来返回此页面上一个TextBox,数据回发目的页(SearchRe

14、sults.aspx)可以以强类型的方式(不需要FindControl() 方法),在页面的顶部添加:这样,SearchResults.aspx 中代码就可以以强类型的方式访问 Default.aspx的 TextBox。下面的例子假定 Default.aspx定义的属性名为 SearchTextBox:TextBox tb = PreviousPage.SearchTextBox; PreviousPageType还有一个TypeName属性,你可以定义一个基本类型,一个或多个页面从此类型继承下来,使得这种技术可以在多页面上使用。PreviousPage.IsCrossPagePostBac

15、k可以判断是否为垮页提交。对于跨页提交的补充:在 ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如 FirstPage.aspx中的 button只能提交到 FirstPage.aspx,而不能提交到 SecondPage.aspx。很多时候,ASP.NET 1.X 这样工作方式使我们的开发方式受到不少限制。熟悉 ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解决这个问题的方法(欲详细了解的读者可去微软网站收看 webcast),可是过程太烦琐,不甚方便。令我们高兴的是,ASP.NET 2.0 中有了跨页面提交的简单方法。可在第一个页面中的 button添加 PostBackUrl属性设置为接受提交的页面,并且这个页面增加 PreviousPageType 指令,若要是目标页面在新窗口中打开则可以在源页面form标记增加 target=_blank属性。6、强类型访问母版页的控件PreviousPageType指令并不是唯一的可以强类型访问控件的方法。如果在母版页中定义了一个公共属性,并且

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号