0

我只在页面中有一个gridview,单击按钮列字段Gridview1_RowCommand被执行。我坚持的是如何将单个refno(在网格中)传递给弹出页面。我想使用这个refno生成对此的查询帮助将非常感谢我使用的以下代码,并且我被困在这里..

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

    Page.RegisterStartupScript("test", "<script language='javascript'>Openpopup();</script>");
}


 <script language='javascript'>
   var popupobj;
  function Openpopup() 
{
      popupobj = window.open("popup.aspx", "_blank", "width=1000,height=500,statusbar=no,toolbar=no,scrollbars=no,resizable=no,navbar=no,screenX=800,screenY=800top=100,left=100");
    popupobj.focus();
}
 </script>  
4

1 回答 1

0

由于您使用的是 RowCommand 事件,为了能够将此值发送到弹出窗口,您需要将 RowIndex 设置为您单击以打开弹出窗口的按钮的 CommandArgument。将 Value(refno) 设置为传递给 DataKey 中的 Popup。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    var Button1= e.Row.FindControl("Button1") as Button;
    Button1.CommandName = "ButtonClick";
    // cast RowIndex in line code to string if e.CommandArgument accepts string
    Button1.CommandArgument = e.Row.RowIndex;
}

现在在 RowCommand

protected void GridView1_RowCommand(object sender, GridViewRowCommandArgs e)
{
    if(e.CommandName == "ButtonClick")
    {
        var refno = GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)]["refno"];
        Page.RegisterStartupScript("test", "<script language='javascript'>Openpopup(' + refno + ');</script>"); 
    }
}

这样,现在您在 Javascript 函数参数中有 refno。将此参数作为 Javascript 弹出函数中的查询字符串传递。

这样您就可以在 Popup 页面中访问 refno。

于 2012-06-21T17:25:22.407 回答