c# - 在模式弹出窗口中将文本框添加到面板

标签 c# javascript asp.net

如何在模式弹出窗口中将文本框动态添加到面板?到目前为止,我一直在尝试这个,但没有运气....

有一个 gridview 会弹出一个模态面板,我想在其中动态添加文本框。

更新了 FOR 循环中的代码:

int num = 4;
int I;
// Create TB's
for (I = 1; I <= num; I++)
{
        Panel newPanel = (Panel)Page.Master.FindControl("pnlpopup");
        PlaceHolder MainContent2 = (PlaceHolder)newPanel.FindControl("PlaceHolder3");

        TextBox txtB = new TextBox();
        txtB.ID = "txtBEdit" + I.ToString("D2");
        MainContent2.Controls.Add(txtB);
}

this.ModalPopupExtender.Show();here

这是aspx。

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
<title>Untitled Page</title>
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>

<asp:ModalPopupExtender ID="ModalPopupExtender" runat="server" TargetControlID="btnShowPopup" PopupControlID="pnlpopup" CancelControlID="btnCancel" BackgroundCssClass="modalBackground">
</asp:ModalPopupExtender>

<asp:Label ID="lblresult" runat="server"/>
<asp:Button ID="btnShowPopup" runat="server" style="display:none" />
<asp:Panel ID="pnlpopup" runat="server" BackColor="White" Height="650px" 
    Width="500px" Font-Size="Small">
<table width="100%" style="border:Solid 3px #D55500; width:100%; height:100%" cellpadding="1" cellspacing="1">
    <tr style="background-color:#D55500">
    <td colspan="2" style=" height:10%; color:White; font-weight:bold; font-size:larger" align="center">Foreign Text Input</td>
    </tr>
    <tr>
        <td align="left" style=" width:20%">ID:
        </td>
        <td>
            <asp:Label ID="lblID" runat="server"></asp:Label>
        </td>
    </tr>
    <tr>
        <td align="left">English text:
        </td>
        <td>
           <asp:Label ID="data_text" runat="server"></asp:Label>
        </td>
    </tr>
    <tr>
        <td>
        <asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>


        <!--Textboxes will be added here -->


        </td>
    </tr>
    <tr>
        <td>
        </td>
        <td>
            <asp:Button ID="btnUpdate" CommandName="Update" runat="server" Text="Update" onclick="btnUpdate_Click"/>
            <asp:Button ID="btnCancel" runat="server" Text="Cancel" />
        </td>
    </tr>
</table>
</asp:Panel>
</div>
</asp:Content>

为了提供解决方案,我添加了以下代码行....

PlaceHolder MainContent2 = (PlaceHolder)PlaceHolder3.FindControl("PlaceHolder3");

最佳答案

因为 PlaceHolder3 是一个

<asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>

您应该可以直接通过 this.PlaceHoder3 访问它。如果没有,则添加

protected PlaceHolder PlaceHolder3;

到你的类定义。

关于c# - 在模式弹出窗口中将文本框添加到面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742409/

相关文章:

asp.net - HTTP 错误 403.14 - 禁止 - Web 服务器配置为不列出此目录的内容

c# - 在 ASP.net 解决方案中使用 Unity IOC 容器

c# - 将多个复选框列表值更新到 SQL DB asp.net C#

c# - 添加对 QuartzTypeLib 的程序集引用

c# - AutoMapper ProjectTo 继承问题

javascript匿名函数作用域行为

c# - ASP MVC 5 在 URL 中隐藏区域(路由)

c# - 2个计时器,一个落后另一个n秒

javascript - 无法增加界面中的字段

javascript - python 列表到 javascript 数组