Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 传递GridView模板字段<;asp:LinkButton控件数据到my.aspx页面中的javascript函数_C#_Javascript_.net_Gridview - Fatal编程技术网

C# 传递GridView模板字段<;asp:LinkButton控件数据到my.aspx页面中的javascript函数

C# 传递GridView模板字段<;asp:LinkButton控件数据到my.aspx页面中的javascript函数,c#,javascript,.net,gridview,C#,Javascript,.net,Gridview,我有一个GridView模板字段,其中包含一个ASP:Label字段,该字段每行有一个唯一的引用号。我还为该控件分配了一个openjavascript函数,它在一个新窗口中打开一个URL,并显示具有相同引用号的文档 我不知道;我不知道当用户单击特定行上的LinkButton时如何获取参考号,并在窗口打开之前将其传递给我的Javascript函数 代码: 在此处输入代码 函数openPreview() { var url=“quotereport.aspx?view=esq&&ref=REFNUM

我有一个GridView模板字段,其中包含一个ASP:Label字段,该字段每行有一个唯一的引用号。我还为该控件分配了一个openjavascript函数,它在一个新窗口中打开一个URL,并显示具有相同引用号的文档

我不知道;我不知道当用户单击特定行上的LinkButton时如何获取参考号,并在窗口打开之前将其传递给我的Javascript函数

代码:

在此处输入代码
函数openPreview()
{
var url=“quotereport.aspx?view=esq&&ref=REFNUMBER”窗口。打开(url);
}
窗口

非常感谢您的帮助。

您必须将RowDataBound事件添加到网格中。在RowDataBound事件中,可以使用数据访问创建的每一行。将javascript绑定到link按钮,而不是像您那样绑定html,并从RowDataBound事件将引用号传递给javascript函数

    protected void gvListing_RowDataBound(object sender, GridViewRowEventArgs e)
    {           
        if (e.Row.RowType == DataControlRowType.DataRow)
        {                
          System.Web.UI.WebControls.LinkButton lbNewWindow= new System.Web.UI.WebControls.LinkButton();    
                lbNewWindow = (System.Web.UI.WebControls.LinkButton)e.Row.FindControl("lbNewWindow");                    
                if (lbNewWindow!= null)
                {
                    string YourRefNumber = DataBinder.Eval("e.Row.DataItem", "ColumnNameInDataSource").ToString();
                    lbNewWindow.Attributes.Add("onclick","openPreview('"+ YourRefNumber + "')");

                } 
         }          
    }

你一定要使用javascript吗?如果没有,您可以在ItemCommand事件上触发重定向,选择DataKeyValue(每行的唯一引用号)?Javascript是我发现的唯一一种不必单击两次我的链接按钮就可以打开新窗口的方法!:你可以在没有javascript的情况下打开一个点击窗口,但既然你有了一个解决方案,我们就不必担心了!
    protected void gvListing_RowDataBound(object sender, GridViewRowEventArgs e)
    {           
        if (e.Row.RowType == DataControlRowType.DataRow)
        {                
          System.Web.UI.WebControls.LinkButton lbNewWindow= new System.Web.UI.WebControls.LinkButton();    
                lbNewWindow = (System.Web.UI.WebControls.LinkButton)e.Row.FindControl("lbNewWindow");                    
                if (lbNewWindow!= null)
                {
                    string YourRefNumber = DataBinder.Eval("e.Row.DataItem", "ColumnNameInDataSource").ToString();
                    lbNewWindow.Attributes.Add("onclick","openPreview('"+ YourRefNumber + "')");

                } 
         }          
    }