Свойство составного элемента управления, позволяющее программисту выбирать параметры.
-
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;}
}
Не связан с StackOverflow