Я пытаюсь создать приложение с поддержкой сценариев, используя Silverlight DLR. Когда я пытаюсь выполнить код JScript, который содержит две или более строк кода, выполняется только первая строка. Например:
У меня было скомпилированное SL-приложение, написанное на С #. Главная страница содержит метку с именем «lblMessage» и обработчик события Button with 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 будет равен строке «Первая строка кода».
Почему игнорируется вторая строка кода?
Спасибо.