0

Silverlight DLR を使用してスクリプト可能なアプリケーションを作成しようとしています。2 行以上のコードを含む JScript コードを実行しようとすると、最初の行のみが実行されます。例: 私は С# で書かれたコンパイル済み SL アプリケーションを持っていました。メイン ページには、「lblMessage」という名前のラベルと、Click イベント ハンドラを持つボタンが含まれています。

private void Button_Click(object sender, RoutedEventArgs e)  
{  
  ScriptRuntime scriptRuntime = ScriptRuntime.Create();  
  foreach (string name in new string[] { "mscorlib", "System", "System.Windows", "System.Windows.Browser", "System.Net" })
  {
     scriptRuntime.LoadAssembly( scriptRuntime.Host.PlatformAdaptationLayer.LoadAssembly(name) );  
  }  
  ScriptEngine scriptEngine = scriptRuntime.GetEngine("js");  
  ScriptScope baseScope = scriptEngine.CreateScope();  
  gsFormManager fm = gsApplicationManager.FormManager;  
  baseScope.SetVariable("lblMessage", lblMessage);  
  string script = "lblMessage.Text = 'First line of code';\r\n" + "lblMessage.Text = 'Second line of code'";  
  ScriptSource scriptSource = scriptEngine.CreateScriptSourceFromString(script);  
  CompiledCode compiledCode = scriptSource.Compile();  
  compiledCode.Execute(baseScope);  
}

実行後、Label.Text は「コードの最初の行」文字列と等しくなります。

コードの 2 行目を無視したのはなぜですか?

ありがとうございました。

4

1 に答える 1

0

たぶん;、2行目の最後に(セミコロン)を入れた方がいいでしょうか...?

于 2009-06-16T05:46:31.240 に答える