惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 嘻哈呵嘿

编程实现QQ表情文件CFC格式 使用反射为指定的文件类型创建关联 C#版的端口扫描器(PortScanner) - 嘻哈呵嘿 在asp.net中使用异步同步rss 为FireFox的XMLDocument 增加 LoadXML,SelectNodes,SelectSingleNode方法。 - 嘻哈呵嘿 AJAX实现的购物车,使用Cookie保存。 - 嘻哈呵嘿 - 博客园 AJAX查询域名。:) - 嘻哈呵嘿 - 博客园 FreeTextBox的Toolbars? ZeroForums论坛正式开始测试运行 看看你的PageRank? 不知不觉在网上就拥有了两G的邮局..... 在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#) - 嘻哈呵嘿 根据指定Value选定winForm中的ComboBox中的Item 影视频道完工中。 Windows 的 calc 的弱智bug~~~~ 原来老外也喜欢盗版和盗连。呵呵。 Flash的中文输入以有及乱码问题。(已解决) 使用自定义的WebControl来构建简单的WebForm - 嘻哈呵嘿 用xhtml和css构建快速的Web页。
一个小小的实用控件。
嘻哈呵嘿 · 2006-09-25 · via 博客园 - 嘻哈呵嘿

引子:在编写程序的过程中,我们是不是有碰到这样的情况呢?
控件位于Repeater,DataList,DataGrid中,但是我们需要在脚本中引用这个控件的ClientID或者UniqueName,但这时用传统的<%# ctl.ClientID %>会说找不到此控件。

这时候我们需要一个小小的控件:我叫它:BindableLiteral
看代码:

 1using System;
 2using System.Collections.Generic;
 3using System.Text;
 4using System.Web.UI.WebControls;
 5using System.ComponentModel;
 6using System.Web.UI;
 7
 8namespace Limited.Controls
 9{
10    public enum eMode
11    {
12        UniqueName,
13        ClientID,
14    }

15
16    public class BindableLiteral :
17        Literal
18    {
19        [TypeConverter(typeof(ValidatedControlConverter)), IDReferenceProperty, DefaultValue("")]
20        public string BindControl
21        {
22            get
23            {
24                object obj = ViewState["BindControl"];
25                return obj == null ? null : (string)obj;
26            }

27            set
28            {
29                ViewState["BindControl"= value;
30            }

31        }

32
33        public eMode RenderMode
34        {
35            get
36            {
37                object obj = ViewState["RenderMode"];
38                return obj == null ? eMode.ClientID : (eMode)obj;
39            }

40            set
41            {
42                ViewState["RenderMode"= value;
43            }

44        }

45
46        [Browsable(false)]
47        public new string Text
48        {
49            set { }
50        }

51
52        protected override void Render(HtmlTextWriter writer)
53        {
54            if (!string.IsNullOrEmpty(BindControl))
55            {
56                Control ctl = this.NamingContainer.FindControl(BindControl);
57                if (ctl != null)
58                {
59                    if (RenderMode == eMode.ClientID)
60                        writer.Write(ctl.ClientID);
61                    else
62                        writer.Write(ctl.UniqueID);
63                }

64            }

65        }

66    }

67}

68
69

使用方式:
一、注册控件
<%@ Register Assembly="Controls" Namespace="Limited.Controls" TagPrefix="lm" %>

二、使用

 1<asp:Repeater ID="rptPageArticle" runat="server" OnItemCommand="rptPageArticle_ItemCommand">
 2                            <HeaderTemplate>
 3                                <div id="xToolbar" style="overflow: visible; width: 100%; display: none;">
 4                                </div>
 5                            </HeaderTemplate>
 6                            <ItemTemplate>
 7                                &nbsp;<asp:TextBox ID="txtPageContent" runat="server" TextMode="multiLine" Width="96%"
 8                                    Text='<%# DataBinder.Eval(Container.DataItem,"PageContent") %>' />
 9
10                                <script type="text/javascript">
11    var oFCKeditor = new FCKeditor( '<lm:BindableLiteral BindControl="txtPageContent" runat="server" RenderMode="UniqueName" />' ) ;
12    oFCKeditor.ReplaceTextarea() ;    
13                                
</script>
14
15                            </ItemTemplate>
16                        </asp:Repeater>

没什么技术可言,不知道大家平时遇到这种情况是如何处理的。欢迎大家讨论