我的网站托管在中级信用环境中。在我加入ASPxGaugeControls控件后,我的网站就停止工作了。我怎样才能解决这个问题呢?
这是因为中级信用环境中不允许使用自定义值转换器。为了为一些属性提供设计时支持,我们必须创建自定义值转换器来转换那些在.NET(BrushObject)中没有模拟的值或者没有标准值转换器的值。也就是当使用标记创建ASPxGaugeControl控件和需要对这些类型的值进行反序列化时,在运行时应用程序创建一个自定义值转换器实例。然而,由于在中级信用环境中不允许使用自定义值转换器,也就无法完成前述创建工作。
有两种方案可以解决这个问题:
1.对只有在运行时需要自定义值转换器的属性进行初始化。在运行时,您可手动创建一个实例(而非从文本中对其进行反序列化),因此不需要创建值转换器。
2.在创建ASPxGaugeControls控件和在设计器中适当设定它们的属性后,使用视规(Visual Gauge)控件设计器中的保存布局(Save Layout)按钮将布局保存到XML文件中。
然后,清除ASPxGaugeControls控件。标记如下所示:
[ASPx]
<dxg:ASPxGaugeControl ID="ASPxGaugeControl1" runat="server" BackColor="White"
Height="260px" Width="260px">
</dxg:ASPxGaugeControl>
现在在页面加载(Page_Load)事件处理程序中添加代码,为每个ASPxGaugeControl控件加载布局:
[C#]
ASPxGaugeControl1.RestoreLayoutFromXml(Server.MapPath(@"~\App_Data\CircularGauge.xml"));
[VB.NET]
ASPxGaugeControl1.RestoreLayoutFromXml(Server.MapPath("~\App_Data\CircularGauge.xml"))
哪种属性会导致文首提到的问题呢?
是BrushObject、BaseColorShader、SizeF和PointF的所有属性。无论是ASPxGaugeControl控件还是任何类型的量规(DigitalGauge 、CircularGauge等)都没有这些属性。但内部量规元件中使用了这些类型的属性:BackgroundLayers和EffectLayers的ScaleCenterPos属性,Shader属性等。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/307.html