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);

Конечно, вы также, вероятно, хотите обезопасить ввод текстового поля, чтобы предотвратить атаки вредоносных сценариев.

Другие вопросы по тегам