首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请教datagrid模板中<asp:hyperlink>或<a>怎样带参数传值到另一页

2012-04-09 
请问datagrid模板中asp:hyperlink或a怎样带参数传值到另一页?我想将参数传到play.aspx里的src属性实现

请问datagrid模板中<asp:hyperlink>或<a>怎样带参数传值到另一页?
我想将参数传到play.aspx里的src属性实现播放功能.
但怎样实现传值?请诸位帮我调通这个东西!
default.aspx
<%@Import   Namespace= "System.Data "   %>
<%@Import   Namespace= "System.Data.SqlClient "   %>
<html> <head> <title> DataGrid </title> </head>
<body>
<form   id= "form1 "     method=post     runat=server>
<asp:DataGrid   ID= "DataGrid1 "   runat=server   AutoGenerateColumns= "false "   >
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
          <asp:HyperLink   runat=server     ID= "LinkButton1 "       NavigateUrl= "~/play.aspx "  
          Text= ' <%#DataBinder.Eval(Container, "DataItem.Text ")%> '>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>

<script   runat=server     language= "C# ">
void   Page_Load(Object   sender,EventArgs   e)
{        
        SqlConnection   SqlConnection1=new   SqlConnection( "server=localhost;user   id=sa;password=;database=database1; ");
        SqlDataAdapter   SqlDataAdapter1=new   SqlDataAdapter( "Select   *   from   table2 ",SqlConnection1);
        DataSet   DataSet1=new   DataSet(   );
        SqlDataAdapter1.Fill(DataSet1);
        DataGrid1.DataSource=DataSet1;
        DataGrid1.DataBind(   );
}
</script>
-------------------------------------------
被传值页面:play.aspx
<html>
<head>
<title> 你好 </title>
</head>
<body>
<embed   id= "embed1 "     src=Requeset.QueryString[ "path "]     width=500     height=500>   </embed>  
</body>
</html>
-----------------------------------------------
数据库表:table2
path                                                             |         Text        
E:\火影\火影忍者TV版1-55\01.rmvb     |         火影第一集  
E:\火影\火影忍者TV版1-55\02.rmvb     |         火影第二集
E:\火影\火影忍者TV版1-55\03.rmvb     |         火影第三集
E:\火影\火影忍者TV版1-55\04.rmvb     |         火影第四集
-----------------------------------------------------




[解决办法]
<asp:HyperLink runat=server ID= "LinkButton1 " NavigateUrl= "~/play.aspx?参数 "
Text= ' <%#DataBinder.Eval(Container, "DataItem.Text ")%> '>

[解决办法]
<asp:HyperLinkColumn DataNavigateUrlField= "userid " DataNavigateUrlFormatString= "userlist.aspx?userid={0} "
DataTextField= "username " HeaderText= "111 "> </asp:HyperLinkColumn>



你就加这么一个超链接的列就好了阿
[解决办法]
支持楼上的解法
[解决办法]
帮你顶一下
[解决办法]
hy_lihuan(我想早恋,可是已经晚了) 方法不错
[解决办法]
其实这是一个页面间传递参数的问题,方法很多,而且大多面试的时候,都会被问到这样的问题.比如:COOKIE,SESSION,CACHE,URL,PREPAGE等很多,需根据具体情况页定,我个人比较推荐URL,这样会减少服务器负载,当然会有一个安全和隐私问题(如果确实需要,可通过加密方式解决).
[解决办法]
PS,如果是一个对象,比如DATASET,那没办法了,就要牺牲服务器性能了,如果VIEWSTATE,SESSION等.
[解决办法]
aspx页:
<asp:HyperLinkColumn Text= "标题 " DataNavigateUrlField= "newsid " DataNavigateUrlFormatString= "manage_News_detail.aspx?id={0} "
DataTextField= "news_title " HeaderText= "标题 ">
<HeaderStyle Width= "220px "> </HeaderStyle>
</asp:HyperLinkColumn>


manage_News_detail.aspx页中:
取得id值:
if (!IsPostBack)
{
string id = Request.QueryString[ "id "].ToString();

}



[解决办法]
如果是1.1就用NavigateUrl
如果是2.0用hy_lihuan(我想早恋,可是已经晚了)的方法
[解决办法]
没有机会混分了!

热点排行