【问题标题】:Allowing custom class member values of a user control to be set on a page允许在页面上设置用户控件的自定义类成员值
【发布时间】:2013-11-15 03:05:12
【问题描述】:

我可能在这里用错了标题。但我拥有的是以下用户控件类:

 public class CustomControl : UserControlBase
 {
       public String MyString { get; set; }
 }

当我在我的页面上包含此用户控件的实例时,我可以很容易地更改标记中 MyString 的值,例如:

<XYZ:CustomControl runat="server" MyString="A value" />

但是,我想包含一个 MyClass 类型的属性,并将值分配给“子”类:

 public class CustomControl : UserControlBase
 {
       public String MyString { get; set; }
       public MyClass MyClass { get; set; }
 }

 public class MyClass
 {
       public String AString { get; set; }
 }

<XYZ:CustomControl runat="server" MyString="A value" MyClass.AString="Some value" />

显然上述方法行不通,但它让您了解我想要实现的目标。

【问题讨论】:

  • MyClassCustomControl 的属性吗?
  • 现在是(根据第二个代码 sn-p)是的
  • 您要在标记或代码中设置值吗?
  • “...在页面上设置”(即标记)。

标签: c# asp.net class controls members


【解决方案1】:

在 WPF 应用程序中,我会这样做:

public class CustomControl : UserControlBase
{
       public String MyString { get; set; }
       public String AString { get; set; }

       [Description("Some description"), Category("Data")]
       public MyClass MyClass { get; set; }

}

您将能够访问 XAML 中的属性。现在的问题是您的类必须能够从字符串转换为 MyClass。

【讨论】:

  • 这篇文章解释了如何从字符串转换为类:stackoverflow.com/questions/4876683/…
  • 投反对票的用户愿意解释原因吗?如果有什么不适合您,我会在这里为您提供帮助。
  • 我不是投反对票的人,但我猜这是因为最初的问题是关于 asp.net 而不是 WPF。
  • 同一个克里斯,不知道为什么我们的两个答案都被否决了。特别是因为我的解决方案是解决方案,而 cmets 中没有提供替代方案!?
猜你喜欢
  • 1970-01-01
  • 2020-09-22
  • 1970-01-01
  • 2015-08-21
  • 2019-04-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-19
  • 2017-01-13
相关资源
最近更新 更多