asp:TextBox在asp内部不起作用:占位符C#

问题描述 投票:1回答:1

我试图根据我的数据库中的项动态添加一些TextBoxes控件。这是我在asp:PlaceHolder页面中的.aspx

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

现在从C#代码我试图创建动态HTML然后那个html渲染到asp:PlaceHolder

这是我的C#代码:

 StringBuilder data = new StringBuilder();
 foreach (SPListItem item in collitem)
 {
 data.Append(@"
      <tr>
          <th class='accordionSection esEmplCardSectionHeader'>
                <span id='lblSectionName'>
                    <asp:TextBox ID='TextBox" + item["ID"].ToString() + @"' runat='server'></asp:TextBox>
                </span>
          </th>             
      </tr>         
 }

 PlaceHolderHTML.Controls.Add(new Literal { Text = data.ToString() });

但在浏览器中没有显示TextBox控件。当我在文本框中查看元素时,我看到以下结果:enter image description here

所以textbox里面的html被发送到asp:PlaceHolder,浏览器不知道它是asp控件而且在浏览器中没有显示任何东西,那么如何解决这个问题呢?

c# html asp.net web sharepoint
1个回答
1
投票

我相信文字控件只适用于原生html。看一下渲染的源代码。我相信你会在源代码中看到你的服务器端标记。

您将需要使用新的TextBox添加控件。

您可能会发现将asp文本框放在一起更容易,只需使用管理名称的本机并在回发时获取值。

© www.soinside.com 2019 - 2024. All rights reserved.