如何使用字符串可以转换UserControl
有没有什么方法/可能性我可以用UserControl替换字符串?
除了LoadControl并将其添加到另一个控件,如页面或占位符。
原因是用户在页面上添加内容并输入类似{uc:test}的字符串,我想解析此文本并用UserControl替换{uc:test}。
换一种说法 ; 用户输入将是“bla bla bla {uc:test} bla bla”,当我从数据库中检索它时如何注入usercontrol并将其替换为{uc:test}
谢谢。
尝试使用LoadControl方法动态加载用户控件,并在回发期间将它们添加到页面中。
Control someControl = LoadControl("~/SomeControl.ascx");
你可以……将它添加到你的页面的控件集合中:
this.Page.Controls.Add(someControl);
或者……将其添加到另一个控件的控件集合中
someExistingPlaceHolder.Controls.Add(someControl);
如何使用正则表达式获取这样的标签
List fields = new List (); foreach(Match match in Regex.Matches(str, @"{([^}]*)}")) { fields.Add(match.Groups[1].Value); }
如果您希望遵守所有用户输入,包括它们包含的任何控件引用,请使用ParseControl :
string markup = input.Replace("{","<").Replace("}",">"); Control control = this.Page.ParseControl(markup); this.Page.Controls.Add(control);
这将创建一个新的Control
,它将所有文本(“blah blah”)表示为Literal子控件,并创建
新实例作为嵌套子控件。
上述就是C#学习教程:如何使用字符串可以转换UserControl分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1029428.html