如何从代码隐藏中找到跨度并向其添加用户控件

本文关键字:添加 控件 用户 代码 隐藏 | 更新日期: 2023-09-27 18:35:18

我有一个div

<div id="PageContent" runat="server"></div>

现在我从代码隐藏(c#)添加HTML到它,就像这样

PageContent.InnerHtml =mytext;

其中mytext是我想在div 中添加的内容PageContent myText 在某些文本之间包含一个跨度(它可以是任何字符串),如下所示

This is some <span id="span1"> </span> text

如何从代码隐藏中找到跨度并向其添加用户控件?

如何从代码隐藏中找到跨度并向其添加用户控件

//This is some <span id="span1" runat="server"> </span>
//In the code behind...
var span1 = this.FindControl("span1") as HtmlGenericControl;
var controlPath = "path of your user control";
var someControl = LoadControl(controlPath);
span1.Controls.Add(someControl);
 var span = new HtmlGenericControl("span");
 span.InnerHtml = "Hello ";
 span.Attributes["id"] = "span";
 span.ID = "span";
 String myTesxt = @"This is some " + span.InnerHtml + " text";
 myDiv.InnerHtml = myTesxt;
 span.InnerHtml = "";
 myDiv.Controls.Add(span);
 var a=myDiv.FindControl("span");

尝试在您的 Div 中添加这样的跨度,然后您将在代码后面找到它。 试试这个。希望这将解决您的目的。

您可以根据需要在范围中添加属性。

从您的mytext中解析/提取span1,使用此解析的信息创建HtmlGenericControl,将其添加到div PageContent然后尝试将用户控件添加到此span

要添加带有反向代码的跨度的纯标签,请按照以下代码

    StringBuilder sb = new StringBuilder();
    sb.Append("<script>");            
    sb.Append("alert('aa')");
    sb.Append("</script>");
    HtmlGenericControl span = new HtmlGenericControl("span");
    span.InnerHtml = sb.ToString();
    this.form1.Controls.Add(span);