+2007-03-06 Igor Zelmanovich <igorz@mainsoft.com>
+
+ * Style.cs: fixed:
+ when AddAttributesToRender(System.Web.UI.HtmlTextWriter, WebControl)
+ is called, WebControl parameter is passed as argument to
+ FillStyleAttributes (CssStyleCollection, IUrlResolutionService) method.
+
2007-03-06 Igor Zelmanovich <igorz@mainsoft.com>
* DataList.cs:
{
if (CssClass.Length > 0)
writer.AddAttribute (HtmlTextWriterAttribute.Class, CssClass);
+#if NET_2_0
+ CssStyleCollection col = new CssStyleCollection (new StateBag ());
+ FillStyleAttributes (col, owner);
+ foreach (string key in col.Keys) {
+ writer.AddStyleAttribute (key, col [key]);
+ }
+#else
WriteStyleAttributes (writer);
+#endif
}
}
+#if ONLY_1_1
void WriteStyleAttributes (HtmlTextWriter writer)
{
-#if NET_2_0
- CssStyleCollection col = new CssStyleCollection (new StateBag ());
- FillStyleAttributes (col, null);
- foreach (string key in col.Keys) {
- writer.AddStyleAttribute (key, col [key]);
- }
-#else
string s;
Color color;
BorderStyle bs;
if (s != "")
writer.AddStyleAttribute (HtmlTextWriterStyle.TextDecoration, s);
}
-#endif
}
+#endif
#if NET_2_0
- void FillStyleAttributes (CssStyleCollection attributes)
+ protected virtual void FillStyleAttributes (CssStyleCollection attributes, IUrlResolutionService urlResolver)
{
Color color;
BorderStyle bs;
#endregion // IStateManager Properties & Methods
#if NET_2_0
- protected virtual void FillStyleAttributes (CssStyleCollection attributes, IUrlResolutionService urlResolver)
- {
- FillStyleAttributes (attributes);
- }
-
internal void SetRegisteredCssClass (string name)
{
registered_class = name;
s.AddAttributesToRender(writer);
// Figure out an order-independent way to verify rendered results
}
+#if NET_2_0
+ class PokerStyle : Style
+ {
+ public IUrlResolutionService UrlResolver;
+
+ protected override void FillStyleAttributes (CssStyleCollection attributes, IUrlResolutionService urlResolver)
+ {
+ UrlResolver = urlResolver;
+ base.FillStyleAttributes (attributes, urlResolver);
+ }
+ }
+
+ class PokerWebControl : WebControl
+ {
+ protected override Style CreateControlStyle ()
+ {
+ return new PokerStyle ();
+ }
+ }
+
+ [Test]
+ public void FillStyleAttributes_UrlResolver ()
+ {
+ PokerWebControl c = new PokerWebControl ();
+ c.BackColor = Color.AliceBlue;
+ c.RenderControl (new HtmlTextWriter (new StringWriter ()));
+
+ Assert.AreEqual (c, ((PokerStyle) c.ControlStyle).UrlResolver);
+ }
+
+#endif
}
}