如何从代码隐藏中找到跨度并向其添加用户控件
本文关键字:添加 控件 用户 代码 隐藏 | 更新日期: 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);