【发布时间】:2011-09-08 18:59:15
【问题描述】:
我目前正在尝试从父 JavaScript 向 Silverlight 传递一个字符串值。 该值适用于 Firefox,但不适用于 IE。
字符串
string fileName = "";
在公共部分类Mainpage中声明:MainPage.cs中的UserControl 在公共 MainPage() 我有以下尝试分配 fileName 它的值。
fileLocation = HtmlPage.Window.Invoke("getFileLocationFromParent").ToString();
Silverlight .aspx 页面内有函数
function getFileLocationFromParent() {
var alertMessage = "";
alertMessage = parent.getFileLocation();
alert(alertMessage);
return parent.getFileLocation();
}
父函数很简单,返回一个变量。
function getFileLocation() {
return fileID; }
fileID 被声明为 var fileID = "";在父 JS 的 documentReady 部分。 它的值在 Silverlight 加载之前在按钮单击函数上声明。 里面的按钮点击事件是:
getID();
在父JS中定义为:
function getID() {
$.ajax({
type: 'POST',
url: '/Page.aspx/getIDstuff ', //returns a string value
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (returnValue) {
fileID = returnValue.d;
}
});
}
我使用警报进行测试。使用 chrome 和 firefox 我看到了适当的字符串,但是在 IE 中我只看到一个空白字符串。
有人有什么建议吗? 谢谢!
【问题讨论】: