Добавление объекта источника данных в качестве свойства - PullRequest
1 голос
/ 21 ноября 2011

У меня две проблемы:

Я создаю WebControl, и мне нравится добавлять SqlDataSource в качестве его свойства. Неважно, под каким именем свойства, Visual Studio показывает его имя как База данных. Ниже приведен мой код, и Visual Studio 2010 Express отображает все свойства Data1 ~ Data3 в редакторе свойств как «База данных»

Вторая проблема - когда я нажимаю на стрелку рядом с именем Databse в Редакторе свойств, я получаю исключение «Параметр неверен (исключение из 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" />

1 Ответ

1 голос
/ 09 января 2012

Я попробовал ваш код, и он отлично работает.может быть, вам нужно перезагрузить визуальную студию или переустановить компонент.

также проверьте папку Temporary ASP.NET Files в каждой из фреймворков, установленных в C:\WINDOWS\Microsoft.NET\Framework\, и удалите ее содержимое.иногда ASP.NET забывает удалить кэшированную dll, и из-за этого вы получаете множество ошибок, не связанных с sense.

...