Today's programming annoyance is brought to you by the .Net Framework.
If you add a style to an HtmlControl in code — for example, the
list-style-image to a list item element — you might use something like the following:
You might expect that the
style element would contain
Apparently, you'd be wrong. The tag generated looks like this:
There is a workaround, but it depends on you being able to specify all
list-style properties at once. Using the shortcut, this code:
will generate the expected HTML, unmangled (and set both the
list-style-image: url(none) may not make your page look broken, but it will result in a browser request for the file "none" and result in some excessive 404 logs on your server.
If you had an actual image and set it with
control.Style.Add("list-style-image","url(imageName.jpg)"); the style would not suddenly get "double-wrapped" with the
url() function. By wrapping your value with
url() "just in case" you forgot it, Microsoft tries to protect you from yourself, and ultimately causes more headaches by preventing you from setting the style to a perfectly valid value.