如何在asp.net中的javascript窗口.open中从gridview调用id

本文关键字:中从 open gridview 调用 id 窗口 javascript asp net 中的 | 更新日期: 2023-09-27 18:28:55

我是.net和jquery的新手。

我的网格视图显示如下http://s3.postimg.org/erfrxh25f/untitled.jpg

这是我的登录信息点击事件。

protected void loginfo_click(Object sender, EventArgs e)
{
    Button btn = (Button)(sender);
    Response.Write("<script>");
    Response.Write("window.open('loginfo.aspx?id=" + + "','_blank')");
    Response.Write("</script>");
}

网格视图:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="Book_id" DataSourceID="SqlDataSource1" 
        OnRowCommand="GridView1_RowCommand" 
        EnablePersistedSelection="True" BackColor="White" 
        OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Height="240px" 
        Width="755px" BorderColor="Red" BorderWidth="2px">
        <Columns>
            <asp:BoundField DataField="Book_id" HeaderText="Book_id" InsertVisible="False" 
                ReadOnly="True" SortExpression="Book_id" >
            <ControlStyle BorderColor="Red" />
            </asp:BoundField>
            <asp:BoundField DataField="Book_name" HeaderText="Book_name" SortExpression="Book_name" />
            <asp:BoundField DataField="Author_name" HeaderText="Author_name" SortExpression="Author_name" />
            <asp:BoundField DataField="Publisher_name" HeaderText="Publish_name" SortExpression="Publisher_name" />
            <asp:TemplateField HeaderText="Edit">
               <ItemTemplate>
                 <asp:Button runat="server" ID="btnedit" Text="Edit" CommandName="EditRow"></asp:Button>                    
               </ItemTemplate>
                <ControlStyle BorderColor="#CCFF66" BackColor="#FF0066" ForeColor="White" />
          </asp:TemplateField>
          <asp:TemplateField HeaderText="Delete">
          <ItemTemplate>
                 <asp:Button runat="server" ID="btndelete" Text="Delete" CommandArgument='<%# Eval("Book_id") %>' CommandName="Deleterow"></asp:Button>                    
               </ItemTemplate>
              <ControlStyle BackColor="#FF0066" ForeColor="White" />
          </asp:TemplateField>
          <asp:TemplateField HeaderText="Log Info">
          <ItemTemplate>
                 <asp:Button runat="server" ID="btnloginfo" Text="Log-Info" CommandArgument='<%# Eval("Book_id") %>' Onclick="loginfo_click"/>
               </ItemTemplate>
              <ControlStyle BackColor="#FF0066" ForeColor="White" />
          </asp:TemplateField>
        </Columns>
        <EditRowStyle BorderColor="Red" />
        <HeaderStyle BackColor="#FF0066" BorderColor="#CCFFFF" ForeColor="White" 
            Height="50px" Width="50px" />
        <SelectedRowStyle BackColor="#FF66FF" />
    </asp:GridView>

我只是弄不清楚如何在窗口打电话给bookid。打开。,

如有任何帮助,我们将不胜感激。

谢谢,

更新:

loginfo.css:

protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection con = Connection.DBconnection();
            SqlCommand com = new SqlCommand("sp_logdetails", con);
            com.CommandType = CommandType.StoredProcedure;
        }

loginfo.aspx:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="Book_id" EnablePersistedSelection="True" BackColor="White"  Height="240px" 
        Width="755px" BorderColor="Red" BorderWidth="2px">
        <Columns>
            <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                ReadOnly="True" SortExpression="Book_id" >
            <ControlStyle BorderColor="Red" />
            </asp:BoundField>
            <asp:BoundField DataField="bookid" HeaderText="bookid" SortExpression="bookid" />
            <asp:BoundField DataField="studentid" HeaderText="studentid" SortExpression="studentid" />
            <asp:BoundField DataField="date" HeaderText="date" SortExpression="date" />
            <asp:BoundField DataField="returndate" HeaderText="returndate" SortExpression="returndate" />
             <asp:BoundField DataField="returnstatus" HeaderText="returnstatus" SortExpression="returnstatus" />
            </Columns>
            </asp:GridView>

如何在asp.net中的javascript窗口.open中从gridview调用id

您已经将Book_id设置为CommandArgument,因此可以通过sender对象访问按钮直接从中获取值。

protected void loginfo_click(Object sender, EventArgs e)
{
    Button btn = (Button)sender;
    Response.Write("<script>");
    Response.Write("window.open('loginfo.aspx?id=" + btn.CommandArgument + "','_blank')");
    Response.Write("</script>");
}