eirikronjum Skrevet 3. desember 2006 Del Skrevet 3. desember 2006 Hei Når jeg lager sider med ASP:button genereres ofte egneskapen language="javascript". Denne er ikke tillatt i xhtml og gjør at sidene ikke validerer. Den har heller ingen funksjon, for skriptet ligger i onclick="javascript:[en kodesnutt]" Er det mulig å få luket ut denne irriterende egenskapen? Eirik Lenke til kommentar
j000rn Skrevet 3. desember 2006 Del Skrevet 3. desember 2006 Hmm... jeg får kun <script type="text/javascript">... (.Net 2.0) Hvilken versjon av .Net bruker du? Kan du legge med innholdet av aspx filen du bruker? Lenke til kommentar
eirikronjum Skrevet 4. desember 2006 Forfatter Del Skrevet 4. desember 2006 Hmm... jeg får kun <script type="text/javascript">... (.Net 2.0) Hvilken versjon av .Net bruker du? Kan du legge med innholdet av aspx filen du bruker? 7418762[/snapback] Jeg bruker 2.0. Som regel får jeg også kun <script type="text/javascript">, men av og til dukker denne language=javascript opp. Jeg har ikke tilgang til aspx-filen fra jobb, men et eksempel på HTML-en finner du på denne lenken http://www.hafver-ronjum.no/statistikk.aspx under submit button id "publiser" Kan poste aspx-filen senere i dag! Takk for hjelpen Lenke til kommentar
j000rn Skrevet 4. desember 2006 Del Skrevet 4. desember 2006 Fint om du poster den ja... Du kan lage din egen knapp som arver av System.Web.UI.WebControls.Button. Og override RenderControl. Kalle base.RenderControl til en TextWriter som lagrer html'n i minnet/string og replace/fjerne det som er uønsket, for så å skrive det til den TextWriter objektet som du får som parameter i RenderControl. (sånn utifra hukomelsen). Det kan sikkert være greit å bruke Reflector for å se på hvordan/hvorfor Button skriver ut language="..". Lenke til kommentar
eirikronjum Skrevet 4. desember 2006 Forfatter Del Skrevet 4. desember 2006 Her er aspx-koden i all sin enkelhet <%@ Page Language="C#" AutoEventWireup="true" CodeFile="validererIkke.aspx.cs" Inherits="validererIkke" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Test</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator><br /> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> </div> </form> </body> </html> Lenke til kommentar
eirikronjum Skrevet 4. desember 2006 Forfatter Del Skrevet 4. desember 2006 Jeg har forsket litt på det selv: Det er validator-controlene som skaper den meningsløse attributten. Hvis du prøver å fjerne den, ser du alt går bra:) Du kan lage din egen knapp som arver av System.Web.UI.WebControls.Button. Og override RenderControl. Kalle base.RenderControl til en TextWriter som lagrer html'n i minnet/string og replace/fjerne det som er uønsket, for så å skrive det til den TextWriter objektet som du får som parameter i RenderControl.(sånn utifra hukomelsen). Det kan sikkert være greit å bruke Reflector for å se på hvordan/hvorfor Button skriver ut language="..". jeg har hørt om denne RenderControl'en, men må innrømme at jeg ikke forsto så mye av dette.... Lenke til kommentar
j000rn Skrevet 4. desember 2006 Del Skrevet 4. desember 2006 Hos meg får jeg fortsatt ikke language="javascript"... Med aspx koden din: <input type="submit" name="Button1" value="Button" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", true, "", "", false, false))" id="Button1" /> Du kan se selv på http://jorn.aakre.no/test Har du installert alle oppdateringene fra Windows Update? Får du samme problem når du kjører i den integrerte webserveren i VS.Net? Hvilken versjon av IIS kjører du? Hvordan ser web.config hos deg ut? Lenke til kommentar
eirikronjum Skrevet 5. desember 2006 Forfatter Del Skrevet 5. desember 2006 Hos meg får jeg fortsatt ikke language="javascript"... Du kan se selv på http://jorn.aakre.no/test Har du installert alle oppdateringene fra Windows Update? Får du samme problem når du kjører i den integrerte webserveren i VS.Net? Hvilken versjon av IIS kjører du? Hvordan ser web.config hos deg ut? 7425954[/snapback] Merkelig.... Ja, jeg får samme resultat uansett om jeg kjører det lokalt i VS.NET eller på webhotellet. Skal sjekke IIS-versjon. Tror du det kan ha noe å si i og med at jeg får samme resultat når jeg kjører gjennom VS? Kan også prøve med en ny web.config, og se om det hjelper. Kommer tilbake etter å ha testet litt mer. Takk for hjelpen så langt! Lenke til kommentar
eirikronjum Skrevet 5. desember 2006 Forfatter Del Skrevet 5. desember 2006 (endret) Vel, jeg bruker IIS 5.1 lokalt. Her kommer også (en lettere redigert web.config). Noen i stand til å forstå problemet? <?xml version="1.0"?> <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <connectionStrings> <add name="XXX" connectionString="XXX" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <compilation defaultLanguage="c#" debug="true"> <compilers> <compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=XXX" extension=".cs" compilerOptions="/d:DEBUG;TRACE"/> </compilers> </compilation> <customErrors mode="RemoteOnly"/> <authentication mode="Forms" > <forms name=".SecurePage" loginUrl="~/login.aspx" > <credentials> <user name ="XXX" password="XXX" /> </credentials> </forms> </authentication> <authorization> <allow users="*"/> </authorization> <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/> <sessionState mode="InProc" stateConnectionString="XXX" sqlConnectionString="XXX" cookieless="false" timeout="20"/> <globalization requestEncoding="utf-8" responseEncoding="utf-8"/> <xhtmlConformance mode="Legacy"/> </system.web> </configuration> Endret 5. desember 2006 av eirikronjum Lenke til kommentar
j000rn Skrevet 5. desember 2006 Del Skrevet 5. desember 2006 Det er denne linjen som gjør det: <xhtmlConformance mode="Legacy"/> Fjern den så blir alt bra Standard når du fjerner den vil være Transitional. Evt kan du bruke Strict: <xhtmlConformance mode="Strict"/> Legacy er kun for bakoverkompabilitet. F.eks. hvis du har javascript som krever at output'n er lik som den var i .Net 1.1. Så Legacy er som regel ganske unødvendig... Lenke til kommentar
j000rn Skrevet 5. desember 2006 Del Skrevet 5. desember 2006 Tips: <sessionState mode="InProc" stateConnectionString="XXX" sqlConnectionString="XXX" cookieless="false" timeout="20"/> Du trenger ikke connectionstring'ene her når du bruker inproc Ellers er resten av den linjen default, så du kan gjerne fjerne hele linjen. Lenke til kommentar
eirikronjum Skrevet 6. desember 2006 Forfatter Del Skrevet 6. desember 2006 Det er denne linjen som gjør det: <xhtmlConformance mode="Legacy"/> Fjern den så blir alt bra Standard når du fjerner den vil være Transitional. Evt kan du bruke Strict: <xhtmlConformance mode="Strict"/> Legacy er kun for bakoverkompabilitet. F.eks. hvis du har javascript som krever at output'n er lik som den var i .Net 1.1. Så Legacy er som regel ganske unødvendig... 7435490[/snapback] Dette skal prøves! Tusen takk for hjelpen! Lenke til kommentar
eirikronjum Skrevet 7. desember 2006 Forfatter Del Skrevet 7. desember 2006 Dette gjorde susen!! tusen takk for hjelpen Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå