首页 / C# / C#自定义控件将内部文本作为字符串
C#自定义控件将内部文本作为字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#自定义控件将内部文本作为字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1616字,纯文字阅读大概需要3分钟。
内容图文
![C#自定义控件将内部文本作为字符串](/upload/InfoBanner/zyjiaocheng/769/2b5a40f3a82c47a697288425151c1943.jpg)
好吧,我正在开发一个可以包含一些javascript的自定义控件,并将其从页面中读入字符串字段.
这是updatepanel中动态JavaScript的变通方法.
目前,我已经开始工作,但是如果我尝试在块中放置一个服务器标签:
<custom:control ID="Custom" runat="server">
<%= ControlName.ClientID %>
</custom:control>
编译器不喜欢它.我知道这些都是在运行时生成的,因此可能与我正在做的事情不兼容,但有没有人知道我怎么能让它工作?
编辑
错误消息是:此上下文不支持代码块
编辑2
控制:
[DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), ControlValueProperty("Text"), DefaultProperty("Text"), ParseChildren(true, "Text"), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class CustomControl : Control, ITextControl
{
[DefaultValue(""), Bindable(true), Localizable(true)]
public string Text
{
get
{
return (string)(ViewState["Text"] ?? string.Empty);
}
set
{
ViewState["Text"] = value;
}
}
}
解决方法:
编译器是写入的,服务器端代码块仅在ITemplate的上下文中受支持.
“Text”属性应该像这样设置……
<custom:control ID="Custom" runat="server" Text="YourText">
使用ITemplate,您可以在代码隐藏中声明它…
public ITemplate Text
{
get;
set;
}
但是你需要这样做……
<custom:control ID="Custom" runat="server">
<Text><%= ControlName.ClientID %></Text>
</custom:control>
话虽如此,如果您有自定义控件,为什么不在后面的代码中执行此操作…
this.text = ((ITextControl)Page.FindControl(controlName)).Text;
麻烦的是,它不是很有活力.
我赞成模板化选项.
虽然难以实施.
内容总结
以上是互联网集市为您收集整理的C#自定义控件将内部文本作为字符串全部内容,希望文章能够帮你解决C#自定义控件将内部文本作为字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。