Solved

Convert PHP script to C# or Javascript

Posted on 2008-10-23
4
782 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
  • 2
4 Comments
 
LVL 49

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

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

When you need to keep track of a simple list of numbers or strings, the Array object is your most direct tool.  As we saw in my earlier EE Article (http://www.experts-exchange.com/A_3488.html), typical array handling might look like this: (CODE) B…
In my daily work (mainly using ASP.net), I need to write a lot of JavaScript code. One of the most repetitive tasks I do are the jQuery Ajax calls. You know: (CODE) I don't know if for you it's the same, but for me is soooo tedious to write the …
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…

706 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now