2015-05-28 5 views
1

У меня есть страница aspx - и на загрузку страницы мне нужно заполнить поле информацией (обычный путь - txt1.Text = "abc" и т. Д.). Но мне также нужно вернуть объект json, чтобы использовать его на $ (документе) .ready (...)return json from pageload in asp.net + заполнять другие данные

Могу ли я вернуть эти 2 типа информации на page_load? и как?

  • Я не могу использовать Ajax после загрузки страницы - мне нужна вся информация будет нагрузка с Page_Load

Спасибо.

+1

Да, вы можете, большое обсуждение об этом уже на [StackOverflow] [1] [1]: HTTP://stackoverflow.com/questions/8072745/how-to-return-a-json-object-in-standard-web-forms-net – Yuri

+0

@Yuri хорошо поймать эту нить есть все, что вам нужно в большей что я представил. – vikingben

ответ

2

Вы можете сделать запрос ajax на дом, готовый к серверу, чтобы получить ваши данные json. http://api.jquery.com/jquery.ajax/ вам понадобится служба, которая ударит ваш запрос ajax, чтобы вернуть ваши данные json, чтобы отобразить их на странице. В asp.net есть несколько опций, включая обработчики .ashx, веб-методы https://msdn.microsoft.com/en-us/library/byxd99hx%28v=vs.90%29.aspx и другие.

1

Сохраните строку JSON в HiddenField, затем прочитайте и проанализируйте ее в обработчике ready.

C#:

JsonField.Value = myJsonString; 

JavaScript:

$(function(){ 
    var json = $("#<%=JsonField.ClientID%>").val(); 
    var obj = JSON.parse(json); 
}); 
+0

Текст не ограничен размером? его довольно длинный json ... –

+0

Я только что испытал с линией 200 МБ и не имел никаких проблем. Я не верю, что есть предел. Является ли ваша строка JSON длиннее 200 МБ? – gilly3