現在、Silverlightに親JavaScriptの文字列値を渡そうとしています。 この値はFirefoxでは問題ありませんが、IEでは問題ありません。私はそれが価値のファイル名を割り当てようとし、次のを持っている)(公共のメインページでMainPage.cs でユーザーコントロール:JavaScript変数をSilverlightに転送する際の問題
文字列
string fileName = "";
は、公共の部分クラスメインページに宣言されています。 Silverlightの.aspxのページ内の
fileLocation = HtmlPage.Window.Invoke("getFileLocationFromParent").ToString();
は機能
function getFileLocationFromParent() {
var alertMessage = "";
alertMessage = parent.getFileLocation();
alert(alertMessage);
return parent.getFileLocation();
}
親関数が簡単で、変数を返しています。
function getFileLocation() {
return fileID; }
fileIDは、var fileID = ""と宣言されています。親のJSのdocumentReadyセクションにあります。 Silverlightがロードされる前にボタンクリック機能で値が宣言されています。ボタンのクリックイベント内 は次のとおりです。私はテストのために、アラートを使用
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;
}
});
}
:として親JSに定義されている
getID();
。 chromeとfirefoxを使うと、適切な文字列が表示されますが、IEでは空の文字列しか表示されません。
誰にも提案はありますか? ありがとう!