未能完成操作。无效的FORMATETC

Tina_Zhanghai 2009-04-16 07:24:31
在VS2008中,拖AJAX Control Toolkit下的所有扩展器控件,都出现“未能完成操作。无效的FORMATETC“,网上说是由于自写的类没有加Public,是什么意思?怎么加?请大家帮帮忙啊。
...全文
1268 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ying845 2012-07-26
  • 打赏
  • 举报
回复
我出现类似的原因是因为我打开时不是通过打开网站的方式打开,而是通过打开解决方案打开出现的,你可以试试。
langhao2010 2010-03-30
  • 打赏
  • 举报
回复
不懂,能详细点吗?Ajax控件是自带的,并不是自己写的类
shanchutiezi 2010-03-30
  • 打赏
  • 举报
回复
在这里:
http://topic.csdn.net/u/20100330/11/2c1818e2-7044-41e3-b89b-700dc9b89665.html?seed=93495102&r=64295645#r_64295645
yangmaomao 2009-06-08
  • 打赏
  • 举报
回复
自己在vs2008里 新建一个类库,然后改成我那个命名空间,把上面这个文件拷贝过去 ,编译后 就可以看到工具栏里有你自己的控件了。如果不声明为public的。那么 我们同样可以在工具栏里看到这个空间,但是在拖到 页面上的时候 就提示你 ,“未能完成操作。无效的FORMATETC“。
yangmaomao 2009-06-08
  • 打赏
  • 举报
回复
比如,我们自己写一个控件,下面是我写的一个控件的示例
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace ServerControl1
{


// 添加属性到显示,显示控件的 第4种方法
public class AddAttributesToRenderControl:WebControl
{

protected override HtmlTextWriterTag TagKey
{
get
{
//return base.TagKey;
return HtmlTextWriterTag.Table;
}
}

protected override void AddAttributesToRender(HtmlTextWriter writer)
{

writer.AddAttribute(HtmlTextWriterAttribute.Border, "1px");
writer.AddAttribute(HtmlTextWriterAttribute.Bordercolor, "#3c5f1c");
writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "1px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, "#3c5f1c");
writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0px");

base.AddAttributesToRender(writer); //将要添加的属性和样式添加到HtmlTextWriterTag标签上
}

protected override void RenderContents(HtmlTextWriter writer)
{
//base.RenderContents(writer);

//line 1
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write("<a href='http://www.csdn.net' target='_blank' style='cursor:hand;color:blue'> ");
writer.Write("csdn论坛");
writer.Write("</a>");
writer.RenderEndTag();
writer.RenderEndTag();

writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write("<a href='http://www.baidu.com' target='_blank' style='cursor:hand;color:blue'> ");
writer.Write("baidu.com");
writer.Write("</a>");
writer.RenderEndTag();
writer.RenderEndTag();


//line 2
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write("<a href='http://www.sina.com' target='_blank' style='cursor:hand;color:blue'> ");
writer.Write("sina");
writer.Write("</a>");
writer.RenderEndTag();
writer.RenderEndTag();

writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write("<a href='http://www.jquery.org' target='_blank' style='cursor:hand;color:blue'> ");
writer.Write("jquery");
writer.Write("</a>");
writer.RenderEndTag();
writer.RenderEndTag();


}
}
}

必须把我们自己定义的控件类声明为 public 的,这个类库经过编译后,你就会看到在你的ToolBox里看到一个叫ServerControls的项,这个项里是就是我们类生成的控件,为了验证你的 声明 必须为public 的 ,我测试了 自己写了个控件,这工作量 真大!
yanli0823 2009-05-14
  • 打赏
  • 举报
回复
是呀,这是为什么呢?
sickcatzzzz 2009-05-05
  • 打赏
  • 举报
回复
我也是这个问题。。。。这什么原因。

52,782

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧