Solved

window.open problem

Posted on 2004-04-14
5
721 Views
Last Modified: 2008-02-01
I have an asp and a page with two frames. (content,main)
I would like to show the page on a different frame.
Here is what I have:

I am working in C#


void MYSelectedChangeEventHandlerFunction(DropDownList DD)
{
try
{
string address = DD.SelectedItem.Value;
//Response.Redirect("address");
Response.Write(" <script> window.open(address,main); </script> ")
}
catch(Exception ex)
{
DD.Items.Add("Dir Errors Found!");
}
       
}

What AM I doing wrong?
Is there a better way to out put the page to a different frame within the function.
Help!
Thanks, Redirect to different page

}
0
Comment
Question by:howard7890
5 Comments
 
LVL 6

Expert Comment

by:KarunSK
ID: 10829322
Check this link:

http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/Q_20932666.html

The code is in VB, but that shouldn't matter.

HTH,
Karun.
0
 

Accepted Solution

by:
rasaraja earned 125 total points
ID: 10829329
Response.Write(" <script language=javascript>
window.open('" + address + "')</script> ")

Note the single quotes around the double quotes. To load a page in a particular frame, specify the target property of window. Since you want to open in a new window, don't specify it.

I would suggest that you handle this event in the client side, if that is the only thing you are doing. Otherwise you can put the window.open stuff in window.onload , execute it based on a flag that you set in code-behind.
Regards,
Ras


0
 
LVL 2

Expert Comment

by:waterhidden
ID: 10830311
when using dynamic javascript in .net pages, you're better to use this in codebehind

        dim strScript as string = "<script> " & _ 'any javascript code here, you can put value of dropdownlist or etc...
        "setTimeout('self.close()',2000); " & _
        "</script>"

        RegisterClientScriptBlock("anything", strScript)

this is vb code, but you can easily convert it to c#


hope it works..
0
 

Author Comment

by:howard7890
ID: 10835142
I have added this code from above I still get an error when I try to compile.
There is somthing simple I am doing wrong but I have no idea what it might be.

Here Is my ASP.
I just need to send the page to a different page.
Thanks,
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<%@ Page Language="C#" Debug="true" %>
<HTML>
<script runat="server">
string Path;

public void Init()
{
int w = 125;
bool Fontbold = true;
int Fontsize = 8;
string FontName = "Verdona";

Path = Server.MapPath("\\");

DDList.Width = w;
Dropdownlist1.Width = w;
Dropdownlist2.Width = w;
Summary.Width = w;
Log.Width = w;

}

public void AutoSetBack()
//Reset all controls to set the autosetback to false
{
      DDList.AutoPostBack = false;
      Dropdownlist1.AutoPostBack = false;
      Dropdownlist2.AutoPostBack = false;
      Summary.AutoPostBack = false;
      Log.AutoPostBack = false;
      Misc.AutoPostBack = false;
}
//Clear all controls under the selected control
public void ClearAll(string StartTag)
{
      switch(StartTag)
      {
            case "All":
                  goto All;
                  break;
            case "Family":
                  goto Family;
                  break;
            case "WWSV":
                  goto WWSV;
                  break;
            case "TD":
                  goto TD;
                  break;
      }

All:
      DDList.Items.Clear();
Family:
      Dropdownlist1.Items.Clear();
WWSV:
      Dropdownlist2.Items.Clear();
TD:
      Summary.Items.Clear();
      Log.Items.Clear();
      Misc.Items.Clear();
}


public string GetName(string fullpath)
{
                  char[] cDividers = {'\\'};
                  string[] segment;
                  segment = fullpath.Split(cDividers);
                  int length = segment.Length-1;
                  return segment[length].ToString();
}

void Page_Load(object sender, EventArgs e)
      {
            try
            {
                  if (!Page.IsPostBack)
                        {
                              Init();
                              LoadRest(1,"\\Family");
                              Page.DataBind();
                        }
            }
            catch(Exception ex)
                  {
                        ;
                  }
      }
public void PopDD (DropDownList DD,string FullPath,int choice)
{
      try
      {
            string[] dirs = Directory.GetDirectories(FullPath);
            foreach (string dir in dirs)
            {
                  DD.Items.Add(new ListItem(GetName(dir), dir));
            }
            DD.SelectedIndex = dirs.Length-1;
            if (DD.SelectedIndex != -1)
            {
                  LoadRest(++choice,DD.SelectedItem.Value);
            }
      }
      catch(Exception ex)
            {
                  DD.Items.Add("Dir Errors Found!");
            }
}


//Loads the rest of the directories
void LoadRest(int choice,string value)
      {
                        
            switch(choice)
            {
                  case 1:
                        PopDD(DDList,value,1);
                        break;
                  case 2:
                        PopDD(Dropdownlist1,value,2);
                        break;
                  case 3:
                        PopDD(Dropdownlist2,value,3);
                        break;
                  case 4:
                        Loadfiles(value);
                        break;
                  case 5:
                        //getLog
                        break;
                  case 6:
                        //getMisc;
                        break;
                  case 7:
                  break;
                  
            }
      }

void FamilyChangeEventHandlerFunction(object sender, EventArgs e)
{
      ClearAll("Family");
      LoadRest(2,DDList.SelectedItem.Value);
}
void WWSVChangeEventHandlerFunction(object sender, EventArgs e)
{
      ClearAll("WWSV");
      LoadRest(3,Dropdownlist1.SelectedItem.Value);
}
void TDChangeEventHandlerFunction(object sender, EventArgs e)
{
      ClearAll("TD");
      LoadRest(4,Dropdownlist2.SelectedItem.Value);
}

void SummaryChangeEventHandlerFunction(object sender, EventArgs e)
{MYSelectedChangeEventHandlerFunction(Summary);
}
void LogChangeEventHandlerFunction(object sender, EventArgs e)
{MYSelectedChangeEventHandlerFunction(Log);
}
void MiscChangeEventHandlerFunction(object sender, EventArgs e)
{MYSelectedChangeEventHandlerFunction(Misc);
}


void MYSelectedChangeEventHandlerFunction(DropDownList DD)
{
            AutoSetBack();
            Response.Buffer = true;
            Response.Clear();
            string address = DD.SelectedItem.Value;
            Response.Redirect(address);
            Response.Write(" <script language=javascript> window.open('" + address + "')</script> ");
      
}
void Loadfiles(string dir)
      {
            string fullpath;
            FileInfo[] Sum,LogFiles,MiscFiles;
            DirectoryInfo DirInfo;

                  fullpath = dir + "\\Summary";
                  DirInfo = new DirectoryInfo(fullpath);
                  if (DirInfo.Exists)
                        {
                        Sum = DirInfo.GetFiles();
                        foreach (FileInfo SumTemp in Sum)
                              {
                                    if (SumTemp.Extension.ToUpper() == ".HTM")
                                          {
                                                Summary.Items.Add(new ListItem(SumTemp.Name, SumTemp.FullName));
                                          }
                              }
                        }
                  fullpath = dir + "\\Log";
                  DirInfo = new DirectoryInfo(fullpath);
                  if (DirInfo.Exists)
                        {
                        LogFiles = DirInfo.GetFiles();
                        foreach (FileInfo LogTemp in LogFiles)
                              {
                                    if (LogTemp.Extension.ToUpper() == ".XML")
                                          {
                                                Log.Items.Add(new ListItem(LogTemp.Name, LogTemp.FullName));
                                          }
                              }
                        }
                  if (DirInfo.Exists)
                        {      
                        fullpath = dir + "\\Misc";
                        DirInfo = new DirectoryInfo(fullpath);
                        MiscFiles = DirInfo.GetFiles();
                        string Ext;
                        foreach (FileInfo MiscTemp in MiscFiles)
                              {
                                    Ext=MiscTemp.Extension.ToUpper();
                                    if (Ext == ".PPT" ||Ext == ".PDF" ||Ext == ".PIF"||Ext == ".BMP")
                                          {
                                                Misc.Items.Add(new ListItem(MiscTemp.Name, MiscTemp.FullName));
                                          }
                        
                              }
                        }
            Page.DataBind();
      }

      </script>
      <form runat="server" ID="Form1">
            <asp:Label Font-Name="Verdana" Font-Bold="True" Font-Size="8" id="Label1" runat="server" text="Family" /><br>
            <asp:dropdownlist Font-Name="Verdana" Font-Bold="True" Font-Size="8" autopostback="true" runat="server" id="DDList" OnSelectedIndexChanged="FamilyChangeEventHandlerFunction" />
            <P></P>
            <asp:Label id="Label2" runat="server" text="Work Week - Silicon Rev" /><br>
            <asp:dropdownlist autopostback="true" runat="server" id="Dropdownlist1" OnSelectedIndexChanged="WWSVChangeEventHandlerFunction" />
            <P></P>
            <asp:Label id="Label3" runat="server" text="Test Date" /><br>
            <asp:dropdownlist autopostback="true" runat="server" id="Dropdownlist2" OnSelectedIndexChanged="TDChangeEventHandlerFunction" />
            <P></P>
            <asp:Label id="Label4" runat="server" text="Summary" /><br>
            <asp:dropdownlist OnSelectedIndexChanged="SummaryChangeEventHandlerFunction" autopostback="true" runat="server" id="Summary" />
            <asp:Button id="Button1" Text="Go" runat="server" OnClick="SummaryChangeEventHandlerFunction" />
            <P></P>
            <asp:Label id="Label5" runat="server" text="Log Files" /><br>
            <asp:dropdownlist OnSelectedIndexChanged="LogChangeEventHandlerFunction" autopostback="true" runat="server" id="Log" />
            <asp:Button id="b1" Text="Go" runat="server" OnClick="LogChangeEventHandlerFunction" />
            <P></P>
            <asp:Label id="Label6" runat="server" text="Misc Support Files" /><br>
            <asp:dropdownlist OnSelectedIndexChanged="MiscChangeEventHandlerFunction" autopostback="true" runat="server" id="Misc" />
            <asp:Button id="Button2" Text="Go" runat="server" OnClick="MiscChangeEventHandlerFunction" />
            <input type="button" Value="Open Window" ONCLICK="window.open(Test)"></form> <!-- -->
      </form> <input type="button" value="Go" name="B1" onclick="window.open()">
      <!-- -->
      <FORM>
            <input type="button" Value="Open Window" ONCLICK="window.open('http://www.developer.com')"></FORM> <!-- -->
      <a href="javascript:void window.open('http://www.developer.com', 'windowTitle', 'height=500,width=700,status=0')">
            click here</a> </BODY>
</HTML>
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Convert Ctime to date time in textfile? 7 63
Groupbox Control ? 2 29
Need help converting bitmap to image in VB.Net 8 45
Visual C# Windows Project - Clone Form 4 24
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question