整个构思如下:
1、绑定了数据
DBgrid1.DataSource = ds.Tables(0)
DBgrid1.DataBind()
2、
<asp:DataGrid id="DBgrid1" runat="server" >
.....
<Columns>
<asp:BoundColumn HeaderText="RID" DataField="RID" Visible=False />
<asp:HyperLinkColumn DataNavigateUrlField="WID" DataNavigateUrlFormatString="vbscript:ShowDetail({0})" ItemStyle-Width="260pt" HeaderText="名称" SortExpression="Name" DataTextField="Name"/>
......
</Columns>
</asp:DataGrid>
3、当我点击 “Name”时打开链接
<script language=vbscript>
Dim ShowDetailURL
Sub Window_Onload()
ShowDetailURL = "a.aspx?WID="
End Sub
</script>
问题如下 :根据RID 不同,打开 页面不同,如
RID =1 ShowDetailURL = "a.aspx?WID="
RID =2 ShowDetailURL = "B.aspx?WID="
请问有什么比较简洁的方法?
1、绑定了数据
DBgrid1.DataSource = ds.Tables(0)
DBgrid1.DataBind()
2、
<asp:DataGrid id="DBgrid1" runat="server" >
.....
<Columns>
<asp:BoundColumn HeaderText="RID" DataField="RID" Visible=False />
<asp:HyperLinkColumn DataNavigateUrlField="WID" DataNavigateUrlFormatString="vbscript:ShowDetail({0})" ItemStyle-Width="260pt" HeaderText="名称" SortExpression="Name" DataTextField="Name"/>
......
</Columns>
</asp:DataGrid>
3、当我点击 “Name”时打开链接
<script language=vbscript>
Dim ShowDetailURL
Sub Window_Onload()
ShowDetailURL = "a.aspx?WID="
End Sub
</script>
问题如下 :根据RID 不同,打开 页面不同,如
RID =1 ShowDetailURL = "a.aspx?WID="
RID =2 ShowDetailURL = "B.aspx?WID="
请问有什么比较简洁的方法?
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='a.aspx?WID="<%# (DataBinder.Eval(Container,"DataItem.RID"))%>' Target="_blank">
<%# DataBinder.Eval(Container,"DataItem.name") %>
</asp:HyperLink>
</ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='a.aspx?WID="<%# (DataBinder.Eval(Container,"DataItem.RID"))%>' Target="_blank">
<%# DataBinder.Eval(Container,"DataItem.name") %>
</asp:HyperLink>
</ItemTemplate>
不好意思,写的乱了点。
<input id="txtid" value='<%#DataBinder.Eval(Container.DataItem,"ID")%>' runat="server" type="hidden"/>//****后台代码处理
//****在itemdatabound事件处理
//****获取HyperLink,htmlinputhidden控件HtmlInputHidden txtid=(HtmlInputHidden)e.Item.FindControl("txtid");
HyperLink hylink=(HyperLink)e.Item.FindControl("hylink");if(txtid!=null)
{
switch(txtid.value)
{
case "1":
hylink.NavigateUrl="a.aspx?OPTYE=1";
hylink.target="_blak";
break;
case "2":
break;
case "3":
break;
}}//****也可调用前台js函数来打开不同的窗体
for(int i =0; i<DataGrid_1.Items.Count;i++)
{
//两种方法打开新窗口,根据需要选择
//方法一:使用超级链接的方法 target='_blank
DataGrid_1.Items[i].Cells[1].Text = "<a href='Detail.aspx?ID="+ DataGrid_1.Items[i].Cells[0].Text.ToString()+"' target='_blank '> " + DataGrid_1.Items[i].Cells[1].Text.ToString() + "</a>";
}