我有两个问题:
我正在创建一个WebControl,我想添加SqlDataSource
作为其属性。在什么是属性名称下无关紧要,Visual Studio将其名称显示为Database。以下是我的代码,Visual Studio 2010 express将Property Editor中的所有Data1~Data3属性显示为“Database”
第二个问题是当我点击属性编辑器中数据库名称旁边的箭头时,我得到一个异常“参数不正确。(HRESULT异常:0x80070057(E_INVALIDARG))”
我做错了哪一部分?
我的组件代码:
using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace Comp1 {
[ToolboxData("<{0}:M1GridData runat=server></{0}:M1GridData>")]
public class M1GridData : WebControl {
public SqlDataSource Data1 { get; set; }
public SqlDataSource Data2 { get; set; }
public SqlDataSource Data3 { get; set; }
protected override void Render(HtmlTextWriter writer) {
writer.Write("Something");
}
}
}
我的网页代码:
<cc1:M1GridData ID="M1GridData1" runat="server" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" />
答案 0 :(得分:1)
我尝试了你的代码,它运行正常。您可能需要重新启动Visual Studio或重新安装组件。
还要检查Temporary ASP.NET Files
中安装的每个框架中的C:\WINDOWS\Microsoft.NET\Framework\
文件夹并删除其内容。有时ASP.NET
会忘记删除缓存的dll,因此会出现很多非意外错误。