1

asp.net プロジェクトで独自のユーザー コントロールを作成していますが、このコントロールに 2 つの asp リスト要素があり、別のクラスのリスト オブジェクトからデータ ソースを設定したいと考えています。

私の例外エラーは次のとおりです。

DataBinding: 'TeamTracker.Flash.ErrorMessage' does not contain a property with the name 'message'.

ユーザー コントロールは次のようになります。

public partial class flashMessage : System.Web.UI.UserControl
{
    protected void Page_PreRender (object sender, EventArgs e)
    {
        TTPage page = (TTPage)this.Page;
        WebFlash flash = page.flashMessages;
        messages.DataSource = flash.NoticeMessages;
        messages.DataTextField = "message";
        messages.DataValueField = "name";
        messages.DataBind();
        errorMessages.DataSource = flash.ErrorMessages;
        errorMessages.DataTextField = "message";
        errorMessages.DataValueField = "name";
        errorMessages.DataBind();
    }
}

ErrorMessage は次のクラスです。

namespace TeamTracker.Flash
{
    public class ErrorMessage : Message
    {
        public ErrorMessage(string message)
        {
            this.message = message;
        }
    }
}

メッセージ プロパティは、親抽象クラスで定義されます。

 namespace TeamTracker.Flash
 {
     public abstract class Message
     {
         public string name, message, colour;
     }
 }

データバインドがこのプロパティ「メッセージ」を認識できない理由はありますか? NoticeMessages が 0 であったため、リストに 2 つのオブジェクトがあったため、errorMessages バインドでエラーが発生しました。

4

2 に答える 2