我只在页面中有一个gridview,并且点击一个按钮列字段Gridview1_RowCommand被执行。我坚持的是如何将单个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>
答案 0 :(得分:0)
由于您正在使用RowCommand事件,为了能够将此值发送到Popup,您需要将RowIndex设置为您单击以打开弹出窗口的Button的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弹出函数中的查询字符串传递。
这样您就可以在弹出页面中访问refno。