Ваша проблема хуже, чем предполагают предыдущие два ответа: вы не знаете, что делаете.
Извините, что звучу так резко, но где вы когда-нибудь видели что-то вроде "Paint.Metalic.CandyRed", и что это там значило? Или "Подделанный. Алюминий. Пятый. ГунМетал"? Что вы хотите, чтобы это значило?
Сначала выясните, что вы хотите изобразить. Затем создайте класс, который может представлять его. Затем добавьте свойство этого класса в серверный элемент управления. Возможно, вам придется добавить TypeConverter или другую поддержку дизайнера, чтобы ASP.NET преобразовал предпочтительное текстовое представление в экземпляр класса. В противном случае вы сможете получить что-то вроде свойств шрифта.
Я собираюсь сделать предположение о том, что представляют собой некоторые из этих значений, и попытаюсь показать вам, как обращаться с ними в элементе управления. Впрочем, мое предположение может быть далеко.
Я буду работать с "Paint.Metalic.CandyRed". Я предполагаю, что это относится к области автомобильной настройки и что свойство Color предназначено для представления отделки, данной автомобилю в целом. В этом случае «Paint», вероятно, будет enum
, относящимся к типу отделки (хотя я не знаю, какие другие виды отделки применимы к автомобилю!). Я знал, когда строил модели автомобилей, когда я был ребенком, краски могут быть металлическими, или глянцевыми, или плоскими, так что эти три были бы значениями перечисления одного перечисления. «CandyRed» будет одним из многих цветов. Это даст что-то вроде этого:
public enum FinishType
{
Paint,
NotPaint // _I_ don't know!
}
public enum PaintFinish
{
Metallic,
Gloss,
Flat
}
public enum CarColor
{
CandyRed,
SilverMist,
DesertSandMica,
MagneticGray,
// etc.
}
public class CarFinish
{
public FinishType FinishType {get;set;}
public PaintFinish PaintFinish {get;set;}
public CarColor CarColor {get;set;}
}
public class Car : WebControl
{
public CarFinish Color {get;set;}
}
Это позволило бы что-то вроде этого:
<Control:Car Color-FinishType="Paint"
Color-PaintFinish="Metallic"
Color-CarColor="CandyRed" .../>
или это:
<Control:Car ...>
<Color FinishType="Paint" PaintFinish="Metallic" CarColor="CandyRed"/>
</Control:Car>