RegisterClientScriptBlock - does not work

  • Thread starter Thread starter Reena
  • Start date Start date
R

Reena

Hi,

private void Page_Load(object sender, System.EventArgs e)
{
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
strBuilder.Append ("<script language=JavaScript> ");
strBuilder.Append ("<!--");
strBuilder.Append ("var intWidth = window.screen.availWidth - 40;");
strBuilder.Append ("var intHeight = window.screen.availHeight - 60;");
strBuilder.Append ("var strHrf;");
//DoD function
strBuilder.Append ("function DoDClick(Site) {");
strBuilder.Append ("window.event.returnValue = false;");
strBuilder.Append ("if (Site == 'SHIP'){");
strBuilder.Append ("strHrf = 'Ship/ShDoD.htm';}");
strBuilder.Append ("else{");
strBuilder.Append ("strHrf = 'DoD.aspx';}");
strBuilder.Append ("newWindow(Site, 'DoD', intHeight, intWidth, true,
false, true, false);}");
strBuilder.Append ("function SiteClick(Site) {");
strBuilder.Append ("window.event.returnValue = false;");
strBuilder.Append ("if (Site == 'SHIP'){");
strBuilder.Append ("strHrf = 'Ship/ShDefaultShip.htm';}");
strBuilder.Append ("else{");
strBuilder.Append ("strHrf = 'DefaultShore.htm';}");
strBuilder.Append ("newWindow(strHrf, 'RADWeb', intHeight, intWidth,
true, false, true, false);}");
strBuilder.Append ("-->");
strBuilder.Append ("</script>");
string js = strBuilder.ToString();
if (!IsClientScriptBlockRegistered("DoDClick"))
{
RegisterClientScriptBlock("DoDClick", js);
}

if (!IsClientScriptBlockRegistered("SiteClick"))
{
RegisterClientScriptBlock("SiteClick", js);
}
}

------------------------------

Everything looks good. No error.
Also get
IsClientScriptBlockRegistered = true

No Javascript is genrated when I view source code.

Not sure what I am doing wrong.

Thanks,

- Reena
 
-----Original Message-----
Hi,

private void Page_Load(object sender, System.EventArgs e)
{
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
strBuilder.Append ("<script language=JavaScript> ");
strBuilder.Append ("<!--");
strBuilder.Append ("var intWidth =
window.screen.availWidth - 40;");
strBuilder.Append ("var intHeight =
window.screen.availHeight - 60;");
strBuilder.Append ("var strHrf;");
//DoD function
strBuilder.Append ("function DoDClick(Site) {");
strBuilder.Append ("window.event.returnValue = false;");
strBuilder.Append ("if (Site == 'SHIP'){");
strBuilder.Append ("strHrf = 'Ship/ShDoD.htm';}");
strBuilder.Append ("else{");
strBuilder.Append ("strHrf = 'DoD.aspx';}");
strBuilder.Append ("newWindow(Site, 'DoD', intHeight, intWidth, true,
false, true, false);}");
strBuilder.Append ("function SiteClick(Site) {");
strBuilder.Append ("window.event.returnValue = false;");
strBuilder.Append ("if (Site == 'SHIP'){");
strBuilder.Append ("strHrf
= 'Ship/ShDefaultShip.htm';}");
strBuilder.Append ("else{");
strBuilder.Append ("strHrf = 'DefaultShore.htm';}");
strBuilder.Append ("newWindow(strHrf, 'RADWeb', intHeight, intWidth,
true, false, true, false);}");
strBuilder.Append ("-->");
strBuilder.Append ("</script>");
string js = strBuilder.ToString();
if (!IsClientScriptBlockRegistered("DoDClick"))
{
RegisterClientScriptBlock("DoDClick", js);
}

if (!IsClientScriptBlockRegistered("SiteClick"))
{
RegisterClientScriptBlock("SiteClick", js);
}
}

------------------------------

Everything looks good. No error.
Also get
IsClientScriptBlockRegistered = true

No Javascript is genrated when I view source code.

Not sure what I am doing wrong.

Thanks,

- Reena


.
Reena - I created a new project, cut & paster your code
and it ran without error. Did a 'View Source' and it was
there. Did you try a new project to see if maybe there's
something else wrong with your existing project?
 
Thanks Joel. Tried with new project. Works fine. Can see javascript in view
source.

Error while accessing javascript...

Microsoft JScript runtime error: Object expected

---------------- HTML Code ----------------
<a id="hrfShip" onclick="SiteClick('SHIP')" href="-">Ship:</a>
<a href="-" onclick="SiteClick('SHORE')">Shore:</a>
<a href="-" onclick="DoDClick('<% =Session["RADSite"] %>')">DoD
Disclamier</a>



_____________________

Thanks,

- Reena
 
Reena said:
Hi,

private void Page_Load(object sender, System.EventArgs e)
{
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
strBuilder.Append ("<script language=JavaScript> ");
strBuilder.Append ("<!--");
strBuilder.Append ("var intWidth = window.screen.availWidth - 40;");
strBuilder.Append ("var intHeight = window.screen.availHeight - 60;");
strBuilder.Append ("var strHrf;");
<etc.>

Reena,

just a tip:

you could write this as
string js = @"<script language=JavaScript>
<!--
var intWidth = window.screen.availWidth - 40;
var intHeight = window.screen.availHeight - 60;
var strHrf;
<etc>";

this is, as a single multi-line string. For a fixed text it is easier to
read.

Hans Kesting
 
Back
Top