2010-03-16 2 views
0

Вопрос заключается в названии, но чтобы сделать его более четким, когда вы используете обычный серверный элемент управления, какКомпозитный свойство элемента управления, который позволяет кодеру выбирать из вариантов

<asp:textbox /> 
<CC1:CtrlArticleList SortBy="Title" ID="compositeControlArticleList" runat="server" /> 

свойства текстового поля позволяют выбрать из выпадающего списка (например, visibility = ... true или false). Как воспроизвести это в составном элементе управления?

Добавлен код, так как вопрос спросил:

Кто-то предложил использовать перечисление, но не знаете, как установить это:

enum SortBY { Date, Title }; 

     [Bindable(false), DefaultValue(""), Description("The sorting type of the DataPager")] 
    public SortBY SortBySomething 
    { 
     get 
     { 
      SortBY getDate = SortBY.Date; 
      if(getDate == (SortBY)ViewState["SortBy"]) 
      { 
       return SortBY.Date; 
      } 
      else 
      { 
       return SortBY.Title; 
      } 
     } 
     set 
     { 
      ViewState["SortBy"] = value; 
     } 
    } 
+0

что вы имеете в виду под «Свойства текстового поля позволяют вы можете выбрать из выпадающего списка "? –

+0

Я имею в виду, что некоторые свойства текстового поля в представлении дизайна позволяют нам выбрать вариант из выпадающего списка. Например, для ввода «runat =» автоматически отображается «сервер». Я предполагаю, что это intellisense. Я создаю составной элемент управления, и я хочу, чтобы разработчик установил свойство SortBy как «Дата», так и «Название». – insanepaul

ответ

0

Просто сделать их свойства в вашем составного элемента управления, как в примере из MSDN ниже. Тогда ваши публичные свойства будут отображаться в процессе intellisence. Если вам это не нужно, вам может понадобиться сначала восстановить приложение.

public class Register : CompositeControl 
{ 
    private Button submitButton; 

    // The following properties are delegated to 
    // child controls. 
    [ 
    Bindable(true), 
    Category("Appearance"), 
    DefaultValue(""), 
    Description("The text to display on the button.") 
    ] 
    public string ButtonText 
    { 
     get 
     { 
      EnsureChildControls(); 
      return submitButton.Text; 
     } 
     set 
     { 
      EnsureChildControls(); 
      submitButton.Text = value; 
     } 
    } 

Осмотрев свой комментарий Я думаю, что вы ищете (не может быть совершенным Didn, тест т, но его близкий):

public enum SortType{Name,Date}  

public SortType SortBy 
{ 
    get{ 
      if(ViewState["SortBy"] != null){ 
       return (SortType)ViewState["SortBy"];} 
      else{return SortType.Date;} 
    } 
    set{ViewState["SortBy"] = value;} 
} 
+0

Я не объяснил себя должным образом. Предположим, что я установил свойство SortBY аналогично приведенному выше примеру msdn. Когда мой элемент управления используется программистом, они набирают SortBy = "???" - как они узнают, какие варианты? В этом случае параметры: «Дата» или «Название», но я не знаю, как дать программисту эти параметры. – insanepaul

+0

SortByVar - это негласное имя для перечисления, но я думаю, что это то, что вы имеете в виду. – Mike

+0

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

Смежные вопросы