Этот код выглядит недействительным (If c.HasControls Then DisableAllControls(c.Controls)
не имеет соответствия End If
), но, возможно, VB.NET добавил встроенный синтаксис If
так, что я даже не подозреваю.
В любом случае, что касается отключения всех runat="server"
элементов управления, вы должны иметь возможность просто сделать это:
For Each c as WebControl In pc.OfType(Of WebControl)()
' Put your recursive call here as before
c.Enabled = False
Next
Теперь, чтобы «отключить» эти другие элементы, вы можете добавить к ним runat="server"
(возможно, даже невозможно, если вы сгенерировалиHTML), или вы можете использовать JavaScript.Я собираюсь предположить, что при отключении вы имеете в виду скрытие в случае тегов <a>
?
jQuery делает это легко, с примером сценария, который выглядит примерно так:
$(document).load(function() {
$('a').hide();
});
или:
/* hides all a tags under an element with class="someClass" */
$(document).load(function() {
$('.someClass a').hide();
});
Затем вы можете сделать так, чтобы ваш код отображал этот скрипт, используя что-то подобное на вашей странице:
Dim script as String = "" /* your javascript here */
Me.ClientScript.RegisterClientScriptBlock(Me.GetType(), "HideTagsScript", script)