Я хочу получить ответ из окна оповещения window.prompt()
через код C# За файлом. Это всего лишь однострочный код JavaScript, поэтому я подумал, что могу даже выполнить его из файла Code Behind. Для меня не имеет значения, является ли это тегом <script>
в файле .aspx
или выполняется через файл .aspx.cs
.Получить возвращаемое значение от JS-кода до C#
Я думал о том, что сценарий выполнен (вызван из части C#), а затем имеет возвращаемое значение, присвоенное определенному не видимому полю, но есть ли лучший способ сделать это?
Очевидный способ, вероятно, пойти что-то вроде этого:
.aspx file:
<script>
function foo() {
document.getElementById('MyFieldID').value = window.prompt('Answer this question:', '');
}
</script>
.aspx.cs file:
////////////////////////////////////////////////
//MyFieldID.Text now contains whatever I want//
//////////////////////////////////////////////
Что вы говорите? Есть ли лучший способ?
Спасибо за ваш ответ, я не согласен с тем, что это субъективно. Некоторые вещи - это только производительность (какой путь занимает меньше памяти или что-то еще) является довольно объективным. – Zim
@ Zim согласился. Но это зависит от ваших потребностей. Если вы хотите предоставить пользователю мгновенную обратную связь и не перезагружать страницу, AJAX - это путь. Если вы уже отправляете форму для обратной передачи, скрытое поле - путь. Если вы просто перенаправляете, строка запроса - это путь. Я считаю, что это субъективно, потому что это зависит от ситуации. Поскольку вы не обеспечили ситуацию, я попытался привести примеры, охватывающие разные ситуации. Если мой ответ не распространяется на ваш прецедент, просьба предоставить более подробную информацию и с удовольствием добавлю больше к моему ответу. – dman2306