Hvordan laves valid javascript starttag i asp.net
HejJeg vil gerne have min asp.net output kan valideres til xhtml eller bare html 4.01, men det giver mig et ret stort problem.
Asp.net's javascript starttag:
<script language="javascript">
Men det skal være:
<script type="text/javascript">
Jeg har prøvet at løse det på flere måder, men uden for meget held.
De første metoder, som ikke virker. Jeg har overrided RegisterClientScriptBlock og RegisterStartupScript i min page class.
public override void RegisterClientScriptBlock(string key, string script)
{
System.Text.RegularExpressions.Regex regEx = new System.Text.RegularExpressions.Regex("<script language=\"javascript\">",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
script = regEx.Replace( script,"<script type=\"text/javascript\">" );
base.RegisterClientScriptBlock (key, script);
}
public override void RegisterStartupScript(string key, string script)
{
System.Text.RegularExpressions.Regex regEx = new System.Text.RegularExpressions.Regex("<script language=\"javascript\">",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
script = regEx.Replace( script,"<script type=\"text/javascript\">" );
base.RegisterStartupScript (key, script);
}
Ved at tilføje det fik jeg ændret 1 ud af 4 starttags. Så ikke brugbar.
Og den behandler ikke starttag til doPostback scripttet.
Mit andet forsøg som godt nok virker, men ikke kan være særlig godt ydelsemæssigt:
protected override void Render(HtmlTextWriter writer)
{
StringBuilder stringBuilder = new StringBuilder();
StringWriter stringWriter = new StringWriter(stringBuilder);
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
base.Render(htmlWriter);
string html = stringBuilder.ToString();
System.Text.RegularExpressions.Regex regEx = new System.Text.RegularExpressions.Regex("<script language=\"javascript\">",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
html = regEx.Replace( html,"<script type=\"text/javascript\">" );
writer.Write(html);
}
Her går jeg igennem hele outputtet, for at finde de forskellige scripttags.
Jeg vil gerne have en anden metode at gøre dette på og evt. nogle ideer om, hvor meget performance loss der er ved min nuværende metode.
