Получить значение JavaScript-метода в коде .CS

_nautilus_

Доброго дня.В файле Main.aspx объявлен метод:
<script type="text/javascript">
function GetNumber()
 {
 var val = "12345f";
 return ret_val;
 }
</script>
В файле Main.aspx.cs следующий метод отрабатывает хорошо и показывает окошко с текстом "12345f":
protected void Page_Load(object sender, EventArgs e)
 {
 String cstext1 = "<script type=\"text/javascript\">alert(GetNumber());</script>";
 ClientScriptManager cs = Page.ClientScript;
 Type cstype = this.GetType();
 cs.RegisterStartupScript(cs.GetType(), "ButtonClickScript", cstext1);
 }
Вопрос: как получить в коде .cs значение, которое возвращает JavaScript-метод?Т.е. нужно что-то вроде:
String cstext1 = "<script type=\"text/javascript\">var val = GetNumber();</script>";
после чего в коде занести в переменную "12345f".Спасибо.
9 ответов

_nautilus_

как получить в коде .cs значение, которое возвращает JavaScript-метод
это невозможнона момент выполнения GetNumber() сервер уже отдал страницу клиенту и забыл про нее


_nautilus_

Хорошо, а можно допустим сначала положить это значение в какое-то скрытое поле на форме, а потом в cs вытащить?


_nautilus_

document.getElementById('MyHidden').value = '12345f';
Request.Form["MyHidden"]


_nautilus_

А если на одной форме я делаю document.getElementById('MyHidden').value = '12345f'; как из cs другой формы обратиться к aspx первой форме и получить значение MyHidden?


_nautilus_

А если на одной форме я делаю document.getElementById('MyHidden').value = '12345f'; как из cs другой формы обратиться к aspx первой форме и получить значение MyHidden?
Передать его тудаполазайте-ка по сайту http://www.asp.net/web-forms


_nautilus_

А если на одной форме я делаю document.getElementById('MyHidden').value = '12345f'; как из cs другой формы обратиться к aspx первой форме и получить значение MyHidden?
Что такое "форма?". Вопрос на засыпку: Может-ли быть несколько форм на странице?ПС. А как работает хттп-протокол не почитать?


_nautilus_

2автор:а что мешает хранить в сессии \ куках ?


_nautilus_

и вообще не совсем понятно, что автору нужно:1) существует межстраничная отправка, благодаря которой следующей странице можно получать публичные данные с предыдущей:
protected void Page_Load(object sender, EventArgs e)
{
DefaultPage1 defPage = PreviousPage as DefaultPage1;
if (defPage != null)
{
 if (defPage.IsValid)
 lblMyLabel.Text = "Я получил от предыдущей страницы " + defPage.PublicProperty1;
 else bla bla bla;
}
}
2) Возможно передавать параметры между страницами через строку запроса - получаем их так: Request.QueryString["myparameter1"]3) И как я писал выше возможно хранить эти параметры в сессии, куках или состоянии представленияподробно это расписывать не буду, если заинтересуетесь погуглите сами


_nautilus_

и наконец последнее!когда клиентский жабаскрипт завершился можно кинуть эти данные на сервер аякс-запросом:
$.ajax({
 type: "POST",
 contentType: "application/json; charset=utf-8",
 url: "Default.aspx/MyWebMethod",
 data: "{'dataHere': '" + '100500' + "'}",
 dataType: "json",
 async: true,
 success: function(result) {
 //тут резалт обрабатываем
 }
 });
а вот так получить:
[WebMethod]
 public static string MyWebMethod(int dataHere)
 {
 return "Я получил " + dataHere;
 }