Свойство составного элемента управления, позволяющее программисту выбирать параметры.

StackOverflow https://stackoverflow.com/questions/2456017

  •  20-09-2019
  •  | 
  •  

Вопрос

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

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

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

Добавлен код после заданного вопроса:

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

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; 
        }
    }
Это было полезно?

Решение

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

 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;
        }
    }

Увидев ваш комментарий, я думаю, что вы ищете (возможно, не идеально, не проверял, но близко):

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;}
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top