0

ページのみにグリッドビューがあり、ボタン列フィールド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 イベントを使用しているため、この値をポップアップに送信できるようにするには、クリックしてポップアップを開くボタンの CommandArgument として RowIndex を設定する必要があります。DataKey で Popup に渡される Value(refno) を設定します。

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 に答える