【问题标题】:How to call id from gridview in javascript window.open in asp .net?如何在 asp .net 中的 javascript window.open 中从 gridview 调用 id?
【发布时间】:2016-04-08 19:54:01
【问题描述】:

我是 .net 和 jquery 的新手。

我的 gridview 显示如下http://s3.postimg.org/erfrxh25f/untitled.jpg

这是我的 loginfo 点击事件。

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>

我只是对如何在 window.open 中调用 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>

【问题讨论】:

  • txtbookid.Text 不工作?
  • 其实我是新人..所以不知道怎么写?
  • Response.Write("window.open('loginfo.aspx?id=" + txtbookid.Text.Trim() + "','_blank')");
  • 好的,我会试试的,告诉你..谢谢..
  • 您是否在该文本框中输入了任何值?

标签: javascript c# jquery asp.net


【解决方案1】:

您已经将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>");
}

【讨论】:

  • 我需要通过调用int存储过程将loginfo.aspx页面中的数据显示为gridview,
  • 要做什么,这里是截图s21.postimg.org/ri0m4w61z/untitled.jpg
  • 你现在拥有什么?我的意思是到目前为止你为此做了多少编码?
  • 不知道怎么调用storedprocedure 'sp_logdetails'来显示数据
  • 你能看看我更新的帖子吗..我添加了loginfo和cs代码,但是这个页面什么也没显示..你能帮忙吗?谢谢
猜你喜欢
  • 2013-06-24
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
相关资源
最近更新 更多