Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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/1/asp.net/37.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#_Asp.net_Data Binding - Fatal编程技术网

C# 在未使用按钮的情况下单击gridview行时,不会显示模式弹出窗口

C# 在未使用按钮的情况下单击gridview行时,不会显示模式弹出窗口,c#,asp.net,data-binding,C#,Asp.net,Data Binding,我需要在单击gridview行时显示模式弹出窗口(没有任何按钮),我通过单击gridview行来显示弹出窗口,但不知道如何将值绑定到模式弹出窗口中显示的文本框。。 所以我需要帮助 将gridview行(单击时)值绑定到模式弹出文本框 只有在单击编辑按钮(位于模式弹出窗口底部)时,模式弹出窗口文本框才应可编辑 编辑工作完成后,单击“保存”按钮(位于“编辑”按钮旁边的底部)时,应保存编辑的数据 由于我是asp.net新手,请尝试为我的需求提供建议。 由于下面的代码,我能够显示gridview行的弹出

我需要在单击gridview行时显示模式弹出窗口(没有任何按钮),我通过单击gridview行来显示弹出窗口,但不知道如何将值绑定到模式弹出窗口中显示的文本框。。 所以我需要帮助

  • 将gridview行(单击时)值绑定到模式弹出文本框
  • 只有在单击编辑按钮(位于模式弹出窗口底部)时,模式弹出窗口文本框才应可编辑
  • 编辑工作完成后,单击“保存”按钮(位于“编辑”按钮旁边的底部)时,应保存编辑的数据
  • 由于我是asp.net新手,请尝试为我的需求提供建议。 由于下面的代码,我能够显示gridview行的弹出窗口,但建议我如何将值绑定到textbox:

    protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                GridViewRow row = e.Row;
    
                if (row.DataItem == null)
                {
                    return;
                }
    
                try
                {
                    switch (e.Row.RowType)
                    {
                        case DataControlRowType.Header:
                            break;
    
                        case DataControlRowType.DataRow:
                            e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand'");
                            e.Row.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(grid, "Select$" + e.Row.RowIndex.ToString()));
                            e.Row.Attributes.Add("onclick", String.Format("javascript:$find('{0}').show();", ModalPopupExtender2.ClientID));
    
    
                            TextBox1.Text = grid.SelectedRow.Cells[0].Text;
                            TextBox2.Text = grid.SelectedRow.Cells[1].Text;
                            TextBox3.Text = grid.SelectedRow.Cells[2].Text;
                            TextBox4.Text = grid.SelectedRow.Cells[3].Text;
                            TextBox5.Text = grid.SelectedRow.Cells[4].Text;
    
                            ModalPopupExtender2.Show();
                            break;
                    }
                }
    
                catch
                {
                    return;
                }
            }
    
    HTML代码:

    <asp:Panel ID="editpanel" runat="server">
                <table width="850px" border="1" class="color">
                <tr>
                <td align="center">
                <asp:Label ID="Label1" runat="server" Text="Firstname" Width="150px"></asp:Label>
                <asp:Label ID="Label2" runat="server" Text="Surname" Width="150px"></asp:Label>
                <asp:Label ID="Label3" runat="server" Text="Visits" Width="150px"></asp:Label>
                <asp:Label ID="Label4" runat="server" Text="$ Speed" Width="150px"></asp:Label>
                <asp:Label ID="Label5" runat="server" Text="Points" Width="150px"></asp:Label>
                <asp:ImageButton id="ImageButton1" runat="server" src="close.png" onclick="close_Click" style="float:right; height: 16px;" ToolTip="To close window"/>
                </td>
                </tr>
                <tr>
                <td>
                <asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
                <asp:TextBox ID="TextBox2" runat="server"  ></asp:TextBox>
                <asp:TextBox ID="TextBox3" runat="server" ></asp:TextBox>
                <asp:TextBox ID="TextBox4" runat="server" ></asp:TextBox>
                <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
                </td>
                </tr>
                <tr>
                    <td>
                            <asp:ImageButton ID="cancell" runat="server" onclick="cancell_Click"  
                            src="cancel.jpg" style="float:right; width: 16px;" 
                            ToolTip="To cancel member" />                    
                        <asp:ImageButton ID="tickk" runat="server" onclick="tickk_Click" src="tick.jpg" 
                            style="float:right; height: 16px;" ToolTip="To save member" />            
                         <asp:ImageButton ID="Edit" runat="server" onclick="edit_Click"  
                            src="edit.jpg" style="float:right; height: 16px; width: 16px;" 
                            ToolTip="To edit member" />
                    </td>
                    </tr>
                </table>   
                </asp:Panel>
        <asp:ModalPopupExtender ID="ModalPopupExtender2" runat="server" TargetControlID="modal2" PopupControlID="editpanel" BackgroundCssClass="modalBackground"></asp:ModalPopupExtender>
    
    
           <asp:ImageButton ID="modal2" runat="server" src="addmember.jpg" OnClick="modal2_click" Text="modal2" style="display:none;"/> // have created a dummy image button
    
    
    //创建了一个虚拟图像按钮
    

    由于我是asp.net新手,请尝试帮助我提出您的建议。

    使用
    BindingSource
    (仅举一个示例)使用此选项将数据与文本框绑定:

    要使文本框不可编辑,请使用以下命令:

    private void EditButton_Click(object sender, EventArgs e)
            {
                if (textBoxid.ReadOnly == true)
                {
                    textBoxid.ReadOnly = false;
                    //how many text boxes you have, do the same here
                }
                else
                {
                    textBoxid.ReadOnly = true;
                    //how many text boxes you have, do the same here
                }
            }
    

    要保存编辑,只需使用所有新数据运行
    更新
    查询。

    谢谢Shaharyar!!!但是我得到了数据绑定和CustomerBindingSource的错误(在此上下文中不存在),wen在rowdatabound事件中更改了您的代码而不是我的代码,然后告诉我wat是CustomerBindingSource,它指向哪个??请告诉我哪里出了问题,在哪里粘贴你的代码。。。
    private void EditButton_Click(object sender, EventArgs e)
            {
                if (textBoxid.ReadOnly == true)
                {
                    textBoxid.ReadOnly = false;
                    //how many text boxes you have, do the same here
                }
                else
                {
                    textBoxid.ReadOnly = true;
                    //how many text boxes you have, do the same here
                }
            }