Hej, sitter här med ett litet problem i asp.net C# jag inte vet hur att åtgärda. Ska sammanfatta kort...så här ser min *.cs fil ut Värdet html-kodas automatiskt av kontrollen. Det ska vara så, och koden som skapas är korrekt. Jag vill kunna skicka textsträngen så att endast & tecknet fås från codebehind till aspx sidan så det ex visas & i en länk ska skrivas & så det är absolut inget fel på den där länken. På vilket sätt fungerar inte länken? Ifall länken inte fungerar så beror det inte på att det står & i den, utan på något annat. nej > det är designern som tror att du vill ha ett html & istället för ett codeblockscommando okej,,,jag tror jag fattar men hur stänger man av intelligensen i design läget? Jag provade precis med.. Nej, naturligtvis "hjälper" inte det. ah fel av mig - jag beskrev ett annat slags problem tror det är så du ska göra i ditt fall oxå faktiskt Tack alla för svaren, jag löste det nu med att skicka ren html kod till sidan men tyvärr uppstod ett annat problem. Vad som ska laddas i html sidan är en binär bild från en databas i src attributet, det funkar så långt att när jag debuggar så kommer jag till sidan jag hänvisar till, där har jag koden...Parametervärde
<code>
this.imgGrupp.ImageUrl= "readimage.aspx?imID="+Session["Grupp"]+"&strTabellID=tblTräningGruppID";
</code>
...och detta blir resutatet på aspx sidan i webbläsaren så jag granskar koden
<code>
<img id="imgGrupp" src="readimage.aspx?imID=2&strTabellID=tblTräningGruppID"...
</code>
Vad jag inte kan fatta är vart kommer omvandlingen av & tecknet från, för det är rätt i codebehind filen och det vet jag därför att debuggern visar så men någonstans på vägen i servern blir det fel och jag vet inte vart? Jag har också ändrat i web.config till
<code>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="iso-8859-1" culture="sv-SE" uiCulture="sv" />
</code>
Är det någon som har svaret?
MVH
MickeSv: Parametervärde
Problemet är alltså bara att du tror att det är fel. Jag hoppas att jag har åtgärdat problemet. :)Sv:Parametervärde
readimage.aspx?imID=2&strTabellID=tblTräningGruppID
istället för
readimage.aspx?imID=2&strTabellID=tblTräningGruppID
för annars så fungerar inte länken...
MVH
MickeSv: Parametervärde
ThomasSv: Parametervärde
Tvärtom, så är koden fel ifall det inte står & i den. Oftast fungerar det ändå, men om du till exempel har ett värde som du har döpt till "copy", så kommer det att bli fel ifall &-tecknet innan inte är html-kodat. Då kommer den att tolka © som koden för copyright-tecknet.Sv:Parametervärde
det är designern som tror att du vill ha ett html & istället för ett codeblockscommando
se till att du i options stänger av all intelligens i designläge (för den är så jävla dum så man baxnar)
och om du fixar i en fil och av misstag tittar på en ascx/aspx- sida i designläge
så innan du checkar in /sparar så kollar du dessa kodställen och ändrar tillbaks om det behövs
det är irriterande men det är bara att tugga och svälja :)Sv: Parametervärde
Jag tror att du tänker på något annat. URL:en skapas i code behind, så den ändras inte av design-läget.Sv:Parametervärde
<code>
string temp = "readimage.aspx?imID="+Session["Grupp"]+Server.UrlDecode("%26")+"strTabellID=tblTräningGruppID";
this.imgGrupp.ImageUrl = temp;
</code>
men inte fasiken hjälpte det...
/MickeSv: Parametervärde
Server.UrlDecode("%26") ger värdet "&", vilket kommer att hanteras korrekt av kontrollen.
Ifall du vill skapa den felaktiga koden så kan du inte använda kontrollen på det viset. Då får du skapa html-koden själv.Sv:Parametervärde
om man i ascx/aspx htmlen har såna här sköna grejer
<td class="<%#me.RenderedStyle(container.dataitem)& me.isexpanded(container.dataitem)%>">
så kommer designern ändra ochet till ett amp när man öppnar sidan i designläge om man har autoformat och vad fan det heter påslaget - otroligt irriterande Sv: Parametervärde
istället för att sätta värdet som en text i codebehind som då skrivs som html
så hämta innehållet i ett codeblock från en property du har i codebehind (eh känner mig otydlig idag)
det är inte meningen att den ska ändra utseendet på texten i ett codeblock - det är ju det som är så irriterande med vad jag skrev ovanSv:Parametervärde
<code>
strImageID = Request.QueryString[0];
strTabellID = Request.QueryString[1];
// ÖPPNA MOT DATABAS
this.objConn = new System.Data.OleDb.OleDbConnection(Conn.ConnectToDB.db_Conn);
objCmd = new OleDbCommand("SELECT BildData FROM "+ strTabellID +" WHERE ID_PRIM ="+strImageID+"",objConn);
objConn.Open();
objRdr.Read();
//SKICKA INTE BILDEN FÖRÄN DEN ÄR FÄRDIGLADDAD PÅ SERVERN
Response.Buffer = true;
//BILDDTYP
Response.ContentType = objRdr["BildTyp"].ToString();
//VEKTOR FÖR BILDDATA
byte[] mByte = new byte[(int)objRdr["BildData"]];
//SKRIV UT DATAFLÖDE
Response.BinaryWrite(mByte);
objRdr.Close();
objConn.Close();
</code>
Deuggern bryter vid objRdr.Read() och kör inte ned till Response, varför gör han så tro?
//Micke