Управляющий лайтбокс (модальный) из кода Asp.Net
До встречи с Ajax и Jquery в моих проектах у меня была функция, как показано ниже.
Public Sub Raise_Alarm(ByVal p_Page As Page, ByVal p_Message As String, Optional ByVal p_IsError As Boolean = True)
strScript = "<script language= ""javascript""> alert('" & p_Message.Replace("'", "") & "')</script>"
Dim t As Type = p_Page.GetType()
p_Page.ClientScript.RegisterStartupScript(t, "alert", strScript)
Dim mylabel As Label
end sub
Сейчас я хочу использовать функцию вместо функции выше, которая отображает сообщение в виде лайтбокса (модальное поле).
Как мне это сделать?
3 ответа
Решение
Если вы хотите использовать jqModal, как предложено выше cxfx (+1;), это должно работать:
strScript = "$('<div>" & p_Message.Replace("'", "\'") & "</div>').jqm();";
ClientScriptManager.RegisterStartupScript(p_Page.GetType(), "alert", strScript, true);
Если вы используете "Thickbox", он может просто отобразить страницу aspx noraml в модальном окне. Затем вы можете использовать код как обычно.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link href="/themes/ui.all.css" rel="stylesheet" type="text/css" />
<link runat="server" href="/styles/thickbox.css" rel="stylesheet" type="text/css" />
<!-- jQuery -->
<script type="text/javascript" src="/scripts/jquery-1.3.2.js"></script>
<script type="text/javascript" src="/scripts/ui.core.js"></script>
<script type="text/javascript" src="/scripts/thickbox.js"></script>
</head>
<body>
<a class="thickbox" href="mylink.aspx?KeepThis=true&TB_iframe=true&height=300&width=850">modal thick box link</a>
</body>
</html>
Надеюсь это поможет.
Попробуйте один из превосходных плагинов jQuery для отображения модальных окон, таких как jqModal. Документы объясняют, как настроить и запустить ваше модальное окно, и включают несколько отличных примеров.