Jag har en inställning på min sida där man antingen har 1 eller 0. Du kan använda apostrofer i javascript-koden. Du kan dela strängen mitt i script-taggarna så att det inte finns någon risk att de missuppfattas. Mitt javascript funkar perfekt när jag gör så här Så:Registrera javascript
Om det är en 1 så ska mitt frameset vara cols="50%,*" annars cols="0,100%"
jag måste sköta detta från codebehind. Jag gör så här nu. Men den kraschar och säger att
parent.show.document.body.cols=\"*,100%\" är null.
Men jag använder en annan funktion och då funkar exakt detta.
Gör jag något fel när jag registrerar scriptet. Ska det vara \" ?
<code>
if(myval=="0")
{
string script = "<Script Language=JavaScript>parent.show.document.body.cols=\"*,100%\"</script>";
RegisterClientScriptBlock("onclick",script);
}
</code>Sv: Registrera javascript
string script = "<Scr"+"ipt type=\"text/javascript\">parent.show.document.body.cols='*,100%';</scr"+"ipt>";´
Är du säker på att javascriptet fungerar? Vad jag kan se så har inte body någon egenskap som heter cols. Ifall du ska ändra i framesetet så är det väl just i framesetet det ska ändras, och inte i sidan?Sv: Registrera javascript
Button1.attribut.add("onclick","ChangeWindow();");
<code>
<script>
function ChangeWindow()
{
parent.document.body.cols="*,100%"
}
</script>
Men hur ska jag göra för att det ska köras från start om ett värde uppfylls.
har prövat med
<code>
if(a==1)
RegisterStartupScript("test","ChangeWindow();");
</code>
men det funkar inte. Hur ska jag få mitt script att köras direkt.Sv: Registrera javascript
RegisterStartupScript("test","<script type=\"text/javascript\">ChangeWindow();</script>");
eller också lägger du det i onload i body-taggen.