Я хотел бы добавить несколько javascript на каждую страницу; по сути, это строка json.
На главной странице у меня есть это:
public partial class TheMasterPage : System.Web.UI.MasterPage
{
protected void Page_Init(object sender, EventArgs e)
{
if (Session["TheData"] == null)
{Session["TheData"] = GetData(DateTime.Today.Date;); }
}
}
Это проверяет, содержит ли сессия данные, необходимые для сериализации json.
Что я хотел бы сделать, так это включить данные в сеансе в javascript каждой страницы.
В aspx страницы у меня есть:
<asp:ContentPlaceHolder id="head" runat="server">
<script type="text/javascript">
var TheJsonData =... ;
</script>
</asp:ContentPlaceHolder>
Как мне вставить туда данные json? Если я сделаю это, что будет выполнено первым? Инъекция aspx или функция Page_Init?
Я использую следующий код для сериализации:
TheDataList = (List<MyModel>)Session["TheData"];
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.RegisterConverters(new JavaScriptConverter[] { new MyModel() });
String result = serializer.Serialize(TheDatatList);
Что я хочу сделать, это $ (document) .ready (function () {ShowData (TheJsonData)}); с переменной TheJsonData, уже загруженной при возникновении события готовности документа.
Спасибо.