页面传值 && gridview绑定技巧
来源:互联网 发布:高博软件职业技术学院 编辑:程序博客网 时间:2024/06/06 14:27
AD:
ASP.NET跨页面传值:使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
- private void Button1_Click(object sender, System.EventArgs e)
- {
- string s_url;
- s_url = "b.aspx?name=" + Label1.Text;
- Response.Redirect(s_url);
- }
b.aspx中C#代码
- private void Page_Load(object sender, EventArgs e)
- {
- Label2.Text = Request.QueryString["name"];
- }
ASP.NET跨页面传值:使用Application 对象变量
Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代码
- private void Button1_Click(object sender, System.EventArgs e)
- {
- Application["name"] = Label1.Text;
- Server.Transfer("b.aspx");
- }
b.aspx中C#代码
- private void Page_Load(object sender, EventArgs e)
- {
- string name;
- Application.Lock();
- name = Application["name"].ToString();
- Application.UnLock();
- }
ASP.NET跨页面传值:使用Session变量
想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
a.aspx的C#代码
- private void Button1_Click(object sender, System.EventArgs e)
- {
- Session["name"] = Label.Text;
- }
b.aspx中C#代码
- private void Page_Load(object sender, EventArgs e)
- {
- string name;
- name = Session["name"].ToString();
- }
ASP.NET跨页面传值:使用Cookie对象变量
这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合asp.net内置对象Request来使用。
a.aspx的C#代码
- private void Button1_Click(object sender, System.EventArgs e)
- {
- HttpCookie cookie_name = new HttpCookie("name");
- cookie_name.Value = Label1.Text;
- Reponse.AppendCookie(cookie_name);
- Server.Transfer("b.aspx");
- }
b.aspx中C#代码
- private void Page_Load(object sender, EventArgs e)
- {
- string name;
- name = Request.Cookie["name"].Value.ToString();
- }
ASP.NET跨页面传值:使用Server.Transfer方法
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
a.aspx的C#代码
- public string Name
- {
- get{ return Label1.Text;}
- }
- private void Button1_Click(object sender, System.EventArgs e)
- {
- Server.Transfer("b.aspx");
- }
b.aspx中C#代码
- private void Page_Load(object sender, EventArgs e)
- {
- a newWeb; //实例a窗体
- newWeb = (source)Context.Handler;
- string name;
- name = newWeb.Name;
- }
以上就是本人在实践过程中总结的asp.net跨页面传值的技巧。
绑定的时候,我们肯定是引用<%@ Import namespace=""System.Data"" %>后使用<%# ((DataRowView)Container.DataItem)[""xxxx""]%> 绑定的方法
先不考虑性能具体如何,但一些常见的应用,其实完全可以在数据绑定的时候就实现到我们所想要的效果
1,特殊值的绑定
很多时候,我们不能直接把从数据库中的查询出来的值绑定显示在页面上,比如金额达到3000元以上的订单,会显示为""大单"",3000元以下单据显示为""小单"".这个时候,我们可以通过在数据库查询的时候,在SQL语句中进行判断,但也同样可以在绑定过程中进行判断.
<%# int.Parse(((DataRowView)Container.DataItem)[""Money""].ToString())>3000?""大单"":""小单"" %>
这样,就直接在数据进行绑定的时候,直接讲显示改为""大单"",""小单""的显示方式了
2,控制控件的显示或隐藏
控制控件的显示或隐藏,也是在绑定的时候经常遇见的一种情况.同样也可以在绑定的时候实现,列入,在金额大于3000的时候,显示按钮,否则隐藏按钮
<asp:Button ID=""Button2"" Visible='<%# int.Parse(((DataRowView)Container.DataItem)[""Money""].ToString())>3000 %>' runat=""server"" Text=""Button"" />
3,控制字体颜色
更具条件的不同,让字体显示出不同的颜色,这也是在绑定的时候可以实现的功能,列入:在金额大于3000的时候,""查看单据""变为红色,否则为黑色
<div style=""color:<%# int.Parse(((DataRowView)Container.DataItem)[""Money""].ToString())>3000?""#ff0000"":""#000000"" %>;"">
查看单据
</div>
4,绑定JS
很多时候我们可以用JS来实现出很多特效,但是在gridview的绑定中,即使用模板列,也不能直接指定出不同的ID,但还是一样可以用数据绑定的时候做到.我们在填充数据的时候,将数据的唯一值ID查询出来,然后也填充进控件之中.那么,ID的不同就变得简单了
<div id=""div_<%# ((DataRowView)Container.DataItem)[""ID""]%>""></div>
这样,每行的div都会有个一个不同的id,你就能在JS中找到指定的JS了,同样的方法也能绑定JS的方法调用.
介绍了这么4种实际中的应用,但归根到最后,都是使用了 <% %> 来调用了服务器端代码 运用 <%# %> 将值绑定到我们所想要控制的地方去.虽然在性能上我没有做过测试,但至少在编码的方便程度上,我个人觉得还是可取的.
- 页面传值 && gridview绑定技巧
- gridview中嵌套gridview(并实现子gridview的数据绑定),页面传值,加密,数据绑定
- GridView 操作事件绑定技巧,单元格属性绑定指定值
- ASP.NET—001:GridView绑定List、页面返回值
- 在Gridview中绑定网页传值
- Gridview模板列绑定日期技巧
- GridView列中编辑(修改)传值绑定数据
- ASP.NET技巧:使用Gridview绑定数据库中的图片
- VS2005中GridView自定义列TemplateField的数据绑定技巧!
- GridView绑定
- 绑定GridView
- gridview绑定
- . net 页面绑定值
- GridView的技巧 绑定行事件,取得单元格值,或取得单元格控件方法,鼠标经过样式
- 关于GridView多值绑定问题
- asp.net Gridview控件值绑定判断
- ExecuteReader的返回值绑定GridView
- GridView 数据绑定 取不到值问题
- 重构-改善既有代码的设计:编写代码22宗罪(三)
- 跟踪方法 新
- 怎样在Android.mk上加宏定义
- JS常用验证(金钱、数字、身份证)
- python遍历文件夹和文件
- 页面传值 && gridview绑定技巧
- 考验平衡性 安卓出色物理游戏反重力小球
- 让你的生活有规律 iPhone一周计划MyWeek
- Java 标准日志工具 Log4j 的使用(附源代码)
- wince下sources\sources.cmn\Makefile.def的相关作用
- 数据库的连接
- Php-SPL库中的迭代器接口详解
- 理解虚基类、虚函数与纯虚函数的概念
- java jruby相互调用小例子