Csharp/C#教程:如何使用字符串可以转换UserControl分享


如何使用字符串可以转换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)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1029428.html

(0)
生活系游戏生活系游戏
上一篇 2022年1月12日
下一篇 2022年1月12日

精彩推荐