可以绑定数据到linkbutton 的CommandArgument属性中,然后在itemcommand中获得CommandArgument:
<asp:linkbutton id="lbn_1" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"用户ID") %>></asp:linkbutton>在itemcommand事件中:
string str=e.CommandArgument.tostring();
<asp:linkbutton id="lbn_1" runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"用户ID") %>></asp:linkbutton>在itemcommand事件中:
string str=e.CommandArgument.tostring();
<script>
function show(){
var mmm
mmm= window.showmodaldialog("b.aspx?...")
}
</script>如何传递呢,,?我就不知道,是现执行href 还是,还是itemcommand,因为我还想b页面确定回送到主页面,就需要使用一个隐藏的linkbutton1 是记录刷新
<HeaderStyle Width="396px"></HeaderStyle>
<ItemTemplate>
<asp:HyperLink id=HyperLink1 NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "链接") %>' Width="394" Height="14px" BackColor="White" runat="server" tooltip='<%# DataBinder.Eval(Container.DataItem, "说明") %>'>
<%# DataBinder.Eval(Container.DataItem, "软件名") %>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>相应的代码:
Private Sub DataListSecIndex_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataListSecIndex.ItemCommand
If e.CommandName = "ShowDataBase" Then
Dim linkbuttemp As LinkButton
linkbuttemp = DataListSecIndex.Items(e.Item.ItemIndex()).FindControl("LinkButton1") '取得linkbutton的属性
DataGrid1.DataSource = BindSoftWare(linkbuttemp.CommandArgument) '进行相应的处理,取得相应的软件 DataGrid1.CurrentPageIndex = 0 '还原由于翻页引起的CurrentPageIndex的改变
DataGrid1.DataBind()
End If
End Sub
还有,
你的想法不对,事实上,事件的产生是使用事件冒泡机制.最后由datagrid来处理的.
大家发表一下意见
<asp:datagrid id="dg_menu" runat="server" DataKeyField="int_id" ShowFooter="True" CellSpacing="0" CellPadding="2" BorderWidth="1" BorderColor="#6699cc" BorderStyle="solid" BackColor="white" AutoGenerateColumns="False">在itemcommand事件里这样获得:
string str_menu_id=dg_menu.DataKeys[e.Item.ItemIndex].ToString();你试试!
也就是能不能在itemcommans事件中调用客户端函数show(show函数中调用showmodaldialog)
~~~~
在itemcommand事件里这样获得:
string str_menu_id=dg_menu.DataKeys[e.Item.ItemIndex].ToString();
Page.RegisterStartupScript("is_true","<script>window.showModalDialog()</script>");
………
//其它的语句我也这样写过,但并不是像我们想象的那样运行,它是把上面的所有的语句都执行完了以后,才弹出对话框。
你试试吧!