0

ログイン コントロールを作成するこのコードを見たことがありますが、このコードを記述する代わりに、.ascx ファイルを使用してこのコントロールを作成できると思います。誰かがこれら2つのアプローチの違いを説明できますか. ありがとう。ソース:http://www.joe-stevens.com/2010/04/16/creating-a-composite-server-control-with-asp-net/

 [ToolboxData("<{0}:Login runat=server></{0}:Login>")]
 public class Login : CompositeControl
 {
   private TextBox txtUsername = new TextBox();
   private TextBox txtPassword = new TextBox();
  private Button btnLogin = new Button();

protected override void CreateChildControls()
{
    txtUsername.ID = "txtUsername";
    txtPassword.ID = "txtPassword";
    txtPassword.TextMode = TextBoxMode.Password;
    btnLogin.ID = "btnLogin";
    btnLogin.Text = "Login";

    Controls.Add(txtUsername);
    Controls.Add(txtPassword);
    Controls.Add(btnLogin);

    base.CreateChildControls();
}
}
4

1 に答える 1

0

カスタムサーバーコントロールは通常、(アプリケーション以外の)汎用機能を果たし、通常、複数のアプリケーション間で共有されるライブラリとして構築されます。これらは通常、Telerik、Infragisticsなどのサードパーティベンダーによって実装および販売されています。ユーザーコントロールは、アプリケーションに対して非常に中心的です。それらを複数のアプリケーション間で共有することはできません(いくつかのハッキングがあるかもしれませんが、一般的にその目的を意図したものではありません)。これらはライブラリとしてではなく、アプリケーションに含まれるユーザーインターフェイスコンポーネントとして構築されます。カスタムサーバーコントロールは、それらを構築するためのデザイナーサポートを提供しませんが、ユーザーコントロールはデザイナーサポートを提供します。したがって、例は、そのコントロールの意図に応じて、ユーザーコントロールとカスタムサーバーコントロールの両方として実装できます。カスタムサーバーコントロールを作成することは簡単ではありません。 http://msdn.microsoft.com/en-us/library/aa719735.aspx

于 2011-12-01T21:53:03.343 に答える