Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.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控件的值?_C#_Javascript_Asp.net_Gridview - Fatal编程技术网

C# 如何从弹出窗口设置父GridView控件的值?

C# 如何从弹出窗口设置父GridView控件的值?,c#,javascript,asp.net,gridview,C#,Javascript,Asp.net,Gridview,我有一个GridView,它有一个控件。比如说一个LinkButton,当我点击这个LinkButton(属于弹出式GridView)时,我打开了一个弹出窗口,它也有一个GridView和一个带有LinkButton的列。。弹出窗口关闭,名称或文本值被传递到父页面。。我有这么多工作要做。不,我想将我从PopUp GridView中检索到的这个值设置为父页面的GridViewLinkButton,它最初称为弹出窗口 父页面 <asp:GridView ID="GridView1" runa

我有一个GridView,它有一个控件。比如说一个
LinkButton
,当我点击这个
LinkButton
(属于弹出式GridView)时,我打开了一个弹出窗口,它也有一个GridView和一个带有
LinkButton
的列。。弹出窗口关闭,名称或文本值被传递到父页面。。我有这么多工作要做。不,我想将我从PopUp GridView中检索到的这个值设置为父页面的GridView
LinkButton
,它最初称为弹出窗口

父页面

 <asp:GridView ID="GridView1" runat="server">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">click</asp:LinkButton>
                    <br />                    
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

<script type="text/javascript">
    function FillTextFromPopup(text) {
        alert(text);       
    }
</script>
<asp:GridView ID="GridView1" runat="server">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click1" 
                        Text='<%# Eval("name") %>'></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

有两种方法可以更改父页面网格上的某些值

  • 只需访问java脚本上的父页面*DOM元素并对其进行更改
  • 另一种方法是在关闭弹出窗口时使用查询字符串将数据传递到父页面。在加载父页面时,您可以根据需要更改任何内容

  • 事件编程会更好。答案是[这里][1][1]:
    <asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click1" 
                            Text='<%# Eval("name") %>'></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
    
    protected void Page_Load(object sender, EventArgs e)
        {
            DataTable table = new DataTable();
            table.Columns.Add("a", typeof(int));
            table.Columns.Add("b", typeof(string));
            table.Columns.Add("c", typeof(string));
            table.Columns.Add("d", typeof(DateTime));
            table.Columns.Add("name", typeof(string));
    
            table.Rows.Add(1, "Indocin1", "David1", DateTime.Now,"arbaaz");
            table.Rows.Add(2, "Enebrel1", "Sam1", DateTime.Now,"Ravish");
            table.Rows.Add(3, "Hydralazine1", "Christoff1", DateTime.Now,"Gulzar");
            table.Rows.Add(4, "Combivent1", "Janet1", DateTime.Now,"Anas");
            table.Rows.Add(5, "Dilantin1", "Melanie1", DateTime.Now,"Danish");
    
            GridView1.DataSource = table;
            GridView1.DataBind();
        }
    
    
        protected void LinkButton1_Click1(object sender, EventArgs e)
        {
    
            GridViewRow gvRow = (GridViewRow)(sender as Control).Parent.Parent;
            int index = gvRow.RowIndex;
            LinkButton lnk = (LinkButton)gvRow.FindControl("LinkButton1");        
            string myScript=lnk.Text;
            string aaa = "javascript:window.opener.FillTextFromPopup('"+myScript+"'); window.close();";
            ScriptManager.RegisterStartupScript(this, GetType(), ClientID, aaa, true);   
    
        }