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 バインドでエラーが発生しました。