【三层架构】页面间传值
来源:互联网 发布:网络调研平台 编辑:程序博客网 时间:2024/06/06 19:38
应用实例
将点击在我的主页里面,点击“我开过的课”,页面跳转,显示我开过的课程信息。
界面设计
添加一个按钮,在按钮中写事件。
后台代码
按钮事件
protected void lbKaike_Click(object sender, EventArgs e) { string url = "/wenjian/lcts/list.aspx?fabuzhe=" + xingming;//xingming是在该页面已经读取出来了的 Response.Redirect(url); }
这时候,那你问道:xingming是个什么东西?姓名其实就是你加载我的主页的时候,用户名的名称,已经被读取出来了。
//用来保存用户名 public string xingming; xingming = sdr["xingming"].ToString();
至此只要我们点击按钮,按钮就能够跳转到list.aspx页面了。
但是list.aspx页面如何显示该用户的课程信息呢?
list.aspx
哦,该list页面是动软的三层代码生成器生成的,只要数据库中的表里面有数据,那么list.aspx就能够显示所有的课程页面信息。但是如何只显示?传过来的发布者的课程列表呢?我们可以先了解一些list.aspx页面的显示课程信息的原理。
First,list.aspx的cs的Pageload事件里面写了个 BindData();那就是要调用它咯。
BindData()可以干什么呢?显示课程数据啦!
那么只要我们的sql语句在读取数据表中的数据的时候,给它增加一点条件,让它只读取有发布者名称的数据信息,显示出来的不就是我们需要的课程表格吗?
不好意思,没有Second了。
SO,let's 增加条件,来一个条件吧。
public void BindData() { string fabuzhe = "";//将发布者先设定为空 fabuzhe = Request.QueryString["fabuzhe"];//如果由东西从URL上传来,那么string fabuzhe就是传递过来的值。 DataSet ds = new DataSet(); StringBuilder strWhere = new StringBuilder(); if (txtKeyword.Text.Trim() != "") {#warning 代码生成警告:请修改 keywordField 为需要匹配查询的真实字段名称 strWhere.AppendFormat("kcBiaoti like '%{0}%' or kcLeixing like '%{0}%'", txtKeyword.Text.Trim()); } if (fabuzhe != "")//如果发布者不为空,那就是要求只显示发布者信息咯。 { strWhere.AppendFormat("fabuzhe like '%{0}%' ", fabuzhe);//给SQL加上条件,数据的出来,发布者要是这个人哦<pre name="code" class="csharp"><pre name="code" class="csharp">//'%{0}%就是这个人 或甲或已或丙或丁...... } ds = bll.GetList(strWhere.ToString());//获得一个实例化过的真真正正的dataset gridView.DataSource = ds; gridView.DataBind(); }
于是你的页面就只显示发布者是甲或乙或丙的开的课啦。
真棒!
作业
将课程页面的课程标题传递到微课页面,显示该课程信息,有多少节课等。
妈蛋,在gridview里面传递信息还可以这么干。
<asp:HyperLinkField HeaderText="标题" ControlStyle-Width="50" DataNavigateUrlFields="kcBiaoti" DataNavigateUrlFormatString="/wenjian/MiroLcts/list.aspx?weikecheng={0}" Text="标题" />下面就只剩下,在MiroLcts/list.aspx页面里面设定数据读取条件了。和上面的一样,只用添加三行代码就可以了,我用*标出来哦!
public void BindData() { string kechengID = "";//* kechengID = Request.QueryString["kechengID"];//* DataSet ds = new DataSet(); StringBuilder strWhere = new StringBuilder(); if (kechengID != "") { strWhere.AppendFormat("kechengID like '%{0}%'", kechengID);//* } ds = bll.GetList(strWhere.ToString()); gridView.DataSource = ds; gridView.DataBind(); }
0 0
- 【三层架构】页面间传值
- 【三层】三层架构初识
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- 三层架构
- CAS Server改造
- 华为机试题(二)
- Android自绘字体大小paint.settextsize随分辨率大小变化
- 替换前字符串:AB?D?F {参数:C、E}替换后字符串:ABCDF
- hdu 胜利大逃亡(续) bfs+状态压缩 1429 钥匙与门相对应
- 【三层架构】页面间传值
- Quartz + spring 定时任务常见错误总结
- 其实UNIX很简单
- 青春无悔,只怕错过
- 写给新手程序员的一封信
- Android 开发过程中用的代码片段(一)
- 【PAT (Advanced Level)】1050. String Subtraction (20)
- UML类图
- Message,MessageQueue,Looper,Handler详解+实例