Прямо сейчас я скрываю элементы div с этим скриптом
$(document).ready(function () {
$('#<%=phaseOne.ClientID%>').hide();
$('#<%=phaseTwo.ClientID%>').hide();
$('#<%=phaseThree.ClientID%>').hide();
});
И я хотел, чтобы он показывался с помощью $('#<%=phaseOne.ClientID%>').show();
код для примера при запуске кнопки, которая базируется на логике и состоянии из базы данных
вы можете вызвать javascript fucntion, как показано ниже
в коде С# вы можете вызвать следующий код при завершении условия
ScriptManager.RegisterStartupScript(this, Page.GetType(), "key", "Display()", true);
и на странице.aspx вы можете указать свой div и функцию ниже
<script type="text/javascript">
function Display() {
var e = document.getElementById('<%=phaseOne.ClientID%>');
if (e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
return false;
}
</script>
<div id="phaseOne" style="display: none;position:absolute;
top:300px;
right:250px; "</div>
Попробуйте следующее:
<script type="text/javascript">
$(document).ready(function () {
HideAll();
}
function HideAll()
{
$('#<%=phaseOne.ClientID%>').hide();
$('#<%=phaseTwo.ClientID%>').hide();
$('#<%=phaseThree.ClientID%>').hide();
}
function ShowPhase1()
{
$('#<%=phaseOne.ClientID%>').show();
}
</script>
Используйте GetType()
вместо typeof(Page)
, чтобы привязать скрипт к вашему фактическому классу страницы вместо базового класса
Передайте ключевую константу вместо параметра Page.UniqueID
, что не так важно, поскольку оно должно использоваться именованными элементами управления,
semicolon
с semicolon
В поле "Код за Button Click
:
if(somecondition==true)
{
ScriptManager.RegisterStartupScript(this, GetType(), "key", "ShowPhase1();", true);
}
Добавьте как можно больше функций для show/hide
и вызова из кода.
key
? Должен ли я использовать один и тот же «ключ» для всех Scriptmanager?
Измените свой код на следующее:
$(document).ready(function() { <% if (someservervalue == true) { %> $('#<%=phaseOne.ClientID%>').show(); <% } else { %> $('#<%=phaseOne.ClientID%>').hide(); <% } %> $('#<%=phaseTwo.ClientID%>').hide(); $('#<%=phaseThree.ClientID%>').hide(); });
Другим способом было бы использовать Page.RegisterClientScriptBlock. Дополнительная информация: http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerclientscriptblock(v=vs.110).aspx