пытается создать страницу диаграмм (объектов управления asp), которые являются маленькими, а затем, когда мы нажимаем на изображение, появляется стилизованный jQuery модальный/диалог, который отображает большую версия диаграммы. Я пытаюсь выполнить это, выполнив следующее, но мой модальный шрифт выглядит пустым.
Меня зовут функция «Увеличить» (и когда я отлаживаю, Popup получает значение с значениями Chart1). Я предполагаю, что моя панель обновления ошибочна? Я собираюсь переместить диаграммы в пользовательский элемент управления, когда это будет сделано, но может быть, лучший способ сделать это, не возвращая «хорошо» на «myhide»?диаграмма asp.net внутри диалогового окна jquery
.aspx
<div class="chart-div" onclick="JScript_EnlargeChart('Chart1')">
<asp:chart id="Chart1" runat="server"></asp:chart>
</div>
<div id="PopUp">
<form runat="server" id="form1">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Chart runat="server" ID="PopUpChart"></asp:Chart>
</ContentTemplate>
</asp:UpdatePanel>
</form>
<span id="myhide" style="display:none"></span>
</div>
Javascript
<script type="text/jscript">
$(document).ready(function() {
$('#PopUp').hide(); //hide on startup
});
function JScript_EnlargeChart(x) { //ajax call to create a dialog box to enlarge a given chart
$('#myhide').load('mypage.aspx?Enlarge=' + x); //refresh
$('#PopUp').modal({ //do popup
title: 'Enlarged Chart',
height: 400,
width: 700,
buttons: {
'Close': function (win) { win.closeModal(); }
}
});
};
</script>
код за
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsNothing(Request.QueryString("Enlarge")) Then
Response.Write(Enlarge(Request.QueryString("Enlarge")))
Response.Flush()
Response.End()
Else
GenerateCharts()
End If
End Sub
Function Enlarge(ByVal chartid As String) As String
If chartid = "Chart1" Then
PopUpChart = Chart1
PopUpChart.Width = 412
PopUpChart.Height = 296
UpdatePanel1.Update()
ElseIf chartid = "Chart2" Then
PopUpChart = Chart2
UpdatePanel1.Update()
End If
Return "OK"
End Function
. Я думал о том, чтобы сделать ответ на ajax источника изображения, как вы сказали в последней части сообщения но думал, что я потеряю такие вещи, как варианты детализации и всплывающие подсказки по точкам данных. я обязательно дам ваше первое предложение пойти сегодня вечером. благодаря! – user1272386