TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Sean
NA
6
0
Pass an Array from C# to javascript
Jul 25 2007 10:17 PM
Hi all,
Not sure what I am doing wrong so hopefully one of you can shed some light on this!
I am creating an ArrayList in C# then passing it to a javascript in a webbrowser.
When trying to read values, I keep getting an "undefined" value for the Array item , i.e. sData[3] in the javascript.
If I do an alert(sData.Count) it does display the correct count for the Array.
Everything up to reading the Array works, the select box gets cleared, etc. But then nothing is passed.
Any help would be appreciated.
C# code:
public class MainForm : Form
{
ArrayList SelectDisplay = new ArrayList();
ArrayList SelectData = new ArrayList();
void PassData_BtnClick(object sender, EventArgs e)
{
FillSelectArrays("Start","none");
FillSelectArrays("One Test","one");
FillSelectArrays("Two Test","two");
FillSelectArrays("Three Test","three");
browser.Document.InvokeScript("FillSelectFromArrays", new object[] { ch.Name, SelectDisplay, SelectData });
}
private void FillSelectArrays(string display, string data)
{
//The Arrays are already defined
SelectDisplay.Add(display);
SelectData.Add(data);
}
private void ClearSelectArrays()
{
SelectDisplay.Clear();
SelectData.Clear();
}
html & javascript:
<html>
<body>
<form>
Test Array: <select name="array_select">
<option value="none"> Values Will Appear Here
</select>
</form>
<script language="javascript" type="text/javascript">
function FillSelectFromArrays(sName, sDisplay, sData)
{
var stot = document.forms[0][sName]
EmptySelect(stot)
with (stot)
{
//Rewrites the text and values
alert("sData[3] = " + sData[3]);
for(i=0; i < sDisplay.Count; i++)
{
options[i]=new Option(sDisplay[i], sData[i]);
}
options[0].selected=true
}
}
function EmptySelect(sName)
{
var tot = sName.options.length
for (i=0;i
{
sName.options[i]=null
}
sName.options.length=0;
}
</script>
</body>
</html>
Thanks!
Sean Murphy
"All things great and small start at the same point, the first step."
Reply
Answers (
1
)
How to determine is there any data stored on the clipboard in C#?
Regex Help