C# дословная вставка строки в JavaScript Acrobat
У меня есть синтаксическая ошибка, и я не могу ее решить в данный момент. Задача: Приложение C# с Acrobat JS Invoke... Я передаю это как строковую команду:
acrofields.ExecuteThisJavascript(@"this.getField(""TM"").value = """ + TM_Textbox.Text + @""";");
Я использую дословную строку, чтобы облегчить мою жизнь в других ситуациях (похоже на это). Так что, как вы видите, содержимое текстового поля также должно быть в "". И это прекрасно работает! НО: если у меня есть путь как контент:
\\\Computername\Folder1\Folder2\\...
это не сработает. Я перепробовал много возможностей цитирования.
1 ответ
Поскольку будет выполняться JavaScript, превратите ваши внутренние кавычки в одинарные кавычки:
acrofields.ExecuteThisJavascript(@"this.getField('TM').value = '" + TM_Textbox.Text + @"';");
или еще лучше:
string execStr = string.Format("this.getField('TM').value = '{0}';", TM_TextBox.Text);
acrofields.ExecuteThisJavascript(execStr);
Конечно, вы также, вероятно, хотите обезопасить ввод текстового поля, чтобы предотвратить атаки вредоносных сценариев.