自定义控件无法在工具箱中显示

当我们需要设置一个邮件链接的时候,通常可以如下:

1.HTML

None.gif < href ="mailto:mymail@com.com" > mymail@com.com </ a >

2.HyperLink

None.gif < asp:hyperlink   navigateurl ="mailto:mymail@com.com"  text ="mymail@com.com"  runat ="server"   />

 不管怎么样,每次都需要手动的添加"mailto",因此准备开发一个邮件链接控件,只要对该控件的MailAddress赋邮件地址就可以了,风格与HyperLink,虽然该控件使用频度并不高!

代码如下:

None.gif using  System;
None.gif
using  System.Web.UI;
None.gif
using  System.Web.UI.WebControls;
None.gif
None.gif
namespace  Digbus.Web.Controls
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    [ToolboxData(
"<{0}:MailLink runat=\"server\" />")]
InBlock.gif    
class MailLink : HyperLink
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
private const string MAIL_TO = "mailto:";
InBlock.gif
InBlock.gif        
protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
base.NavigateUrl = MAIL_TO + mailAddress;
InBlock.gif
InBlock.gif            
base.RenderContents(writer);
ExpandedSubBlockEnd.gif        }

InBlock.gif
InBlock.gif        
private string mailAddress;
InBlock.gif        
public string MailAddress
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif            
get dot.gifreturn mailAddress; }
ExpandedSubBlockStart.gifContractedSubBlock.gif            
set dot.gif{ mailAddress = value; }
ExpandedSubBlockEnd.gif        }
        
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

编译正常通过!
但是,将dll添加到工具箱中,始终显示不了MailLink控件。
以为是VS的问题,重启VS,Toolbox中出现了MailLink,但是没有办法托拽到编辑器中。^||^

切换到Code View,可以托拽到HTML中了,但是“砰”:


关于“无效的  FORMATETC 结构”,在asp.net forum上也有同样的问题,但是没有解决方案: Invalid FORMATETC structure (Exception from HRESULT: 0x80040064(DV_E_FORMATETC))

等待高手解决~~

转载于:https://www.cnblogs.com/Jinglecat/archive/2006/05/04/391522.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值