Re: ASP.NET Internationalization bug?
- From: "Lee C." <no.spam@xxxxxxxxxxx>
- Date: Fri, 27 Jun 2008 13:02:42 -0400
I think you are misunderstanding, Juan. I had the xml:lang attribute in the
html tag (declaratively), like this:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"
dir="ltr">
....and it renders to the browser, as it should.
If I simply add runat="server", leaving in the xml:lang attribute that
renders without runat="server", all of the (declarative) attributes are
rendered to the browser--except the xml:lang attribute! That is a bug.
<html runat="server" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"
lang="en-US" dir="ltr">
Cordially,
Lee
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message
news:eyrwjUH2IHA.3920@xxxxxxxxxxxxxxxxxxxxxxx
Here's a full example which shows that the xml:lang attribute is added
programmatically :
attributes.aspx:
----------------------
<%@ Page Language="C#" AutoEventWireup="True" %>
<html xmlns="http://www.w3.org/1999/xhtml" runat="server" id="Myid" >
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
Myid.Attributes.Add("xml:lang", "es");
Message.InnerHtml = "<h4>The html control attributes collection
contains:</h4>";
IEnumerator keys = Myid.Attributes.Keys.GetEnumerator();
while (keys.MoveNext())
{
String key = (String)keys.Current;
Message.InnerHtml += key + "=" + Myid.Attributes[key] + "<br />";
}
}
</script>
<head id="Head1" runat="server">
<title>The html control attributes collection</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>HtmlControl Attribute Collection Example</h3>
<br />
<span id="Message" enableviewstate="false" runat="server" />
</form>
</body>
</html>
----------------
I don't think it's a bug to have to add an attribute programmatically,
because the runat="server" tag only *declares* the html control as a
programmable control.
To actually program it, you must use a script.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Lee C." <no.spam@xxxxxxxxxxx> wrote in message
news:e0rLaPG2IHA.4772@xxxxxxxxxxxxxxxxxxxxxxx
Thanks, Juan.
I already added similar code to a page event in my masterpage
code-beside.
elHtml.Attributes.Add("xml:lang",
Resources.GlobalLang.ContentAudienceLanguage)
To me, that is a temporary workaround. I still want to understand
whether the "eating" of the attribute I originally
posted about is a bug, or if this is actually happening for a reason.
Cordially,
Lee
"Juan T. Llibre" <nomailreplies@xxxxxxxxxxx> wrote in message
news:%23gBUqSC2IHA.4772@xxxxxxxxxxxxxxxxxxxxxxx
Hi, Lee.
re:
!> <html runat="server" xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en-US" lang="en-US" dir="ltr">
!> no xml:lang attribute is rendered to the browser!
!> Remove the runat="server", and, voila, the xml:lang attribute is
rendered.
Try this :
<html xmlns="http://www.w3.org/1999/xhtml" runat="server" id="someID">
<script runat="server">
someID.Attributes("xml:lang") = "en-US"
</script>
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
"Lee C." <nomail@xxxxxxxx> wrote in message
news:O%23KsAQA2IHA.4572@xxxxxxxxxxxxxxxxxxxxxxx
I think I have discovered a bug in ASP.NET, related to I18N.
In ASP.NET 3.5 I have to set runat="server" on the html element to use
explicit expressions. It appears that
ASP.NET
eats the xml:lang attribute on the html element when it is set to
runat="server".
Of course I want to replace the hardcoded "en-US" values with
(resource) explicit expressions; but, for simplicity,
try this:
<html runat="server" xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en-US" lang="en-US" dir="ltr">
...And you will find that no xml:lang attribute is rendered to the
browser! Remove the runat="server", and, voila,
the
xml:lang attribute is rendered. :[
...Any ideas?
Cordially,
Lee
.
- Follow-Ups:
- Re: ASP.NET Internationalization bug?
- From: Juan T. Llibre
- Re: ASP.NET Internationalization bug?
- References:
- ASP.NET Internationalization bug?
- From: Lee C.
- Re: ASP.NET Internationalization bug?
- From: Juan T. Llibre
- Re: ASP.NET Internationalization bug?
- From: Lee C.
- Re: ASP.NET Internationalization bug?
- From: Juan T. Llibre
- ASP.NET Internationalization bug?
- Prev by Date: Re: ASP.NET Internationalization bug?
- Next by Date: Re: ASP.NET Internationalization bug?
- Previous by thread: Re: ASP.NET Internationalization bug?
- Next by thread: Re: ASP.NET Internationalization bug?
- Index(es):
Relevant Pages
|