1

ASP.NET ユーザー コントロールのプロパティとして公開された、オブジェクトのプロパティの値を宣言的に設定する方法を説明する記事を読んで、過ぎ去った日々を思い出すような気がします。

私の状況は、もちろん、とりわけ LinkBut​​ton を含むユーザーコントロールを持っているということです。ユーザー コントロールのコンシューマーが、ユーザー コントロールの実装に使用される宣言構文でリンク ボタンの TEXT 値を設定できるようにしたいと考えています。

これがユーザーコントロール(デザイナー)です...

<div id="toolbar">
    <ASP:LinkButton runat="server" id="btnFirst"    />
    <ASP:LinkButton runat="server" id="btnSecond"   />
    <ASP:LinkButton runat="server" id="btnThird"    />
    <ASP:LinkButton runat="server" id="btnFourth"   />
</div>

ユーザーコントロールのコードビハインドで定義されているプロパティは次のとおりです...

public partial class Lookuptoolbar: UserControl
{
    public LinkButton FourthButton
    {
        get { return (this.btnFourth); }
    }
}

ページにコントロールを含めると、次の DECLARATIVE 構文を使用して 4 番目のボタンの TEXT を設定できると期待していました ...

   <UC:MyControl id="uc1" runat="server" FourthButton_Text="Click Me!"/>

ずっと前に、アンダースコア構文を使用してオブジェクトのプロパティ (ユーザー/サーバー コントロールのプロパティとして公開されている) にアクセスできることをどこかで読んだことがあります。これは私にとってはまったく機能しません。これはもう許可されていませんか、それとも何か不足していますか? これを行う方法はありますか?

ありがとう、ゲイリー

4

2 に答える 2

2

わかりました...興味があるかもしれない人のために、私は答え、または少なくともその始まりを見つけたと思います. 構文は、アンダースコアではなくハイフンを使用します。したがって、正しい構文は次のようになります。

 <UC:MyControl id="uc1" runat="server" FourthButton-Text="Click Me!"/> 

複合型の「サブプロパティ」にアクセスする場合、それ以上のものがある場合があります。詳しくは説明していませんが、Microsoft Press の書籍「Developing Microsoft ASP.NET Server Controls and Components」(ISBN 0-7356-1582-9) の 218 ~ 222 ページで説明されています。

誰かがもっと何かを学んだら、私はそれについて聞きたいです. そうでなければ、これが誰かを助けることを願っています!

-ゲイリー

于 2011-08-25T12:46:14.503 に答える
0

誰かがあなたが話しているメソッドを使用しているのを聞いたことがないか、見たことがありません(宣言型構文のオブジェクトプロパティにアクセスするためにアンダースコアを使用しています)。

必要なことを行う1つの方法は、LinkBut​​tonのtextプロパティと相互作用するユーザーコントロールのFourthButtonTextプロパティを公開することです。

public string FourthButtonText
{
    get { return this.btnFourth.Text; }
    set { this.btnFourth.Text = value; }
}
于 2011-08-18T17:55:00.987 に答える