积极答复者
页面传递参数,在其他论坛发了几张帖子,希望问题在这里解决呀

问题
-
开发环境:vs2003
语言:c#
问题描述:内容很简单,有两个页面,A和B,就是把A页面的参数传递到B页面去。那么我遇到的问题是:
1、A页面有一个数据展示控件:datagrid,显示3个字段,序号,姓名,手机费用
2、A页面有一个网上下载的分页控件:AspNetPager,用来分页数据。
3、A页面中,在列‘姓名’上有个超级链接,点击弹出B页面,显示该用户的详细信息,链接的绑定是在前台文件中完成的
4、序号的生成,使用的索引加分页控件的值,在后台完成的,序号是一个模板列,用了一个Label绑定
问题:在点击姓名后需要把自动生成序号传递到B页面,注意分页控件对序号的影响,
我的序号在后台这样生成:
private void dg_WorkTypeList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Label lbl = (Label)e.Item.FindControl("lbl_id");
int base_num;
base_num=this.AspNetPager.PageSize*(this.AspNetPager.CurrentPageIndex-1);
if(e.Item.ItemIndex != -1 )
{
//取得当前项的索引值加1,因为项的索引值是从0开始的.
int orderID = e.Item.ItemIndex+1+base_num;
//设置第一列为的单元格内容为当前项索引值加1
lbl.Text=orderID.ToString();
}
}
现在要在前台文件调用该lbl标签的值,可是无法取到,有其他人给出的方法如下:
<a target=_blank href='MeetingInfo2.aspx?Id=<%# DataBinder.Eval( Container.DataItem, "m_id" ) %>&type=1&m_no=<%# ((Label)((DataGridItem)Container.DataItem).FindControl("lbl_id")).Text %>'>
<%# Show(DataBinder.Eval( Container.DataItem, "m_Title" ).ToString()) %>
</a>
就是这一句:m_no=<%# ((Label)((DataGridItem)Container.DataItem).FindControl("lbl_id")).Text %>,显示报错:指定的转换无效,请问高手,怎么处理?请讲解的详细些,到底怎么能实现?非常谢谢- 已移动 肖小勇Moderator 2009年7月4日 9:06 (发件人:Visual C#)
答案
-
<%# ((Label)((GridViewRow)Container).FindControl("lbl_id")).Text%>
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年7月6日 2:22
-
通过 DataRowView 取数据集中的值也是可以的<%# ((System.Data.DataRowView)Container.DataItem)["字段名"].ToString() %>
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年7月6日 2:22
全部回复
-
<%# ((Label)((GridViewRow)Container).FindControl("lbl_id")).Text%>
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年7月6日 2:22
-
通过 DataRowView 取数据集中的值也是可以的<%# ((System.Data.DataRowView)Container.DataItem)["字段名"].ToString() %>
知识改变命运,奋斗成就人生!- 已标记为答案 KeFang Chen 2009年7月6日 2:22