Solved

Convert PHP script to C# or Javascript

Posted on 2008-10-23
4
790 Views
Last Modified: 2012-05-05
The attached code snippet happens on load of the web page. Can anyone tell me how to convert it to Javascript or C#? Bascially, what I have done is loaded some list items in an array. Then, based on the current page, the HTML is created when the page loads.
// maybe you need to add the directory name(s) too
      $items = array(
          array("link"=>"php.html", "label"=>"PHP scripts"),
          array("link"=>"tut.html", "label"=>"Tutorial"),
          array("link"=>"css.html", "label"=>"CSS template"),
          array("link"=>"code.html", "label"=>"Code examples"));
           
      $menu = '';
      foreach ($items as $val) {
          if  ($_SERVER['SCRIPT_NAME'] == $val['link']) {
          $menu .= '<li><span>' .$val['label'].'</span></li>';
 
	  } else {
	  $menu .= '<li><a href="'.$val['link'].'" >'.$val	   ['label'].'</a></li>';
	  }
      }
      echo $menu;

Open in new window

0
Comment
Question by:computerstreber
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 52

Accepted Solution

by:
Ryan Chong earned 300 total points
ID: 22794014
I saw your pages are in .html, so I decided to use javascript to generate the menu.
<script language="javascript">
	//Ver 1.0
	function getFileName(fpath, removeQueryingString, delimiter) {
		if (fpath==null) fpath = window.location.href;
		if (delimiter==null) delimiter = "/";
		var tmp = fpath;
		if (tmp.lastIndexOf("?") > -1) {
			tmp = tmp.substring(0,tmp.lastIndexOf("?"));		
		}
		tmp = tmp.substring(tmp.lastIndexOf(delimiter)+1);
		if (removeQueryingString != null) {
			if (removeQueryingString) {
				var tmpArr = tmp.split("?");
				tmp = tmpArr[0];
			}
		}
		return tmp;
	}
 
	function generateMenu() {
		var arrlink = new Array(3);
		var arrlabel = new Array(3);
		arrlink[0] = "php.html";
		arrlabel[0] = "PHP scripts";
		arrlink[1] = "tut.html";
		arrlabel[1] = "Tutorial";
		arrlink[2] = "css.html";
		arrlabel[2] = "CSS template";
		arrlink[3] = "code.html";
		arrlabel[3] = "Code examples";
		
		var menu = "";
		for (var i=0;i<arrlink.length;i++) {
			if  (getFileName() == arrlink[i]) {
				menu += "<li><span>" + arrlabel[i] + "</span></li>";
			} else {
				menu += "<li><a href='" + arrlink[i] + "'><span>" + arrlabel[i] + "</span></a></li>";
			}
		}
		return menu;
	}
	
	document.write(generateMenu());
</script>

Open in new window

0
 
LVL 21

Assisted Solution

by:naspinski
naspinski earned 200 total points
ID: 22795230
asp.net/c#
<!--asp.net-->
<asp:DropDownList ID="ddl" runat="server" />
 
// C# -- put this in your page_load
if (!IsPostBack)
{
    Dictionary<string, string> items = new Dictionary<string, string>();
    items.Add("php.html", "PHP scripts");
    items.Add("tut.html", "Tutorial");
    items.Add("css.html", "CSS template");
    items.Add("code.html", "Code examples");
 
    foreach (var item in items)
        ddl.Items.Add(new ListItem(item.Value, item.Key));
}

Open in new window

0
 
LVL 21

Assisted Solution

by:naspinski
naspinski earned 200 total points
ID: 22795283
actually, I made that more complicated than I needed to, keep the same asp.net of:

<asp:DropDownList ID="ddl" runat="server" />

and put this in your codebehind:
if(!IsPostBack)
{
    ddl.Items.Add(new ListItem("php.html", "PHP scripts"));
    ddl.Items.Add(new ListItem("tut.html", "Tutorial"));
    ddl.Items.Add(new ListItem("css.html", "CSS template"));
    ddl.Items.Add(new ListItem("code.html", "Code examples"));
}

Open in new window

0
 
LVL 3

Author Closing Comment

by:computerstreber
ID: 31509541
both of these were awesome examples. However, I found the javascript to render much better.
0

Featured Post

Want Experts Exchange at your fingertips?

With Experts Exchange’s latest app release, you can now experience our most recent features, updates, and the same community interface while on-the-go. Download our latest app release at the Android or Apple stores today!

Question has a verified solution.

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

Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

632 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