<asp:datagrid id="DataGrid1" runat="server">
<Columns> <asp:ButtonColumn ButtonType="PushButton" HeaderText="详细信息" Text="详细信息" CommandName="detailInfo"></asp:ButtonColumn>
<asp:ButtonColumn Text="购买" ButtonType="PushButton" HeaderText="购买" CommandName="Buy"></asp:ButtonColumn>
</Columns>
</asp:datagrid >我在一个页面中使用一个查询  然后显示这个DataGrid
那么在这个DataGrid中这样插入的按钮 想点"详细信息"弹出一个详细信息的窗口 
点"购买 " 打开另外一个页面我知道弹出窗口可以用js写 "window.alert()"  但是找不到写入的位置
打开页面也可以用direct  
不知道对不对 .....请高手作答!

解决方案 »

  1.   

    <columns>
    <asp:TemplateColumn HeaderText="详细信息">
    <HeaderStyle></HeaderStyle>
    <ItemTemplate>
    <asp:Button id="bt1" Runat="server" Text="详细信息"></asp:Button>
    </ItemTemplate>
    </asp:TemplateColumn>
             <asp:TemplateColumn HeaderText="购买">
             <HeaderStyle></HeaderStyle>
    <ItemTemplate>
             <asp:Button id="Button1" Runat="server" Text="购买"></asp:Button>
    </ItemTemplate>
           </asp:TemplateColumn>
    </Columns>
    好象要这样写吧,然后才能写事件的
      

  2.   

    那么如何传值到那个要打开的页面呢?因为那个新页面相当于一个模版 靠传过来的值进行显示
    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    //写在这里吧??
    }
      

  3.   

    不用,可以直接通过定义commandName来实现
      

  4.   

    在属性生成器里.定义CommandName就可以了.在属性生成器里.
      

  5.   

    如何在DataGrid中的某一列显示同一文本内容+数据表的内容呢?
    比如 A1   A2
        0     没有确认
        1     已经确认[8]
        1     已经确认[5]
        
    A1为0 则A2显示没有确认   A1=1 则A2显示已经确认  []内为数据表中的一列