想知道在單擊超級鏈接時是否有方法將下拉列表設置爲在代碼後面或asp中可見?超級鏈接將下拉列表設置爲可見
<asp:HyperLink ID="HyperLink2" runat="server">View More Workout Programs »</asp:HyperLink>
想知道在單擊超級鏈接時是否有方法將下拉列表設置爲在代碼後面或asp中可見?超級鏈接將下拉列表設置爲可見
<asp:HyperLink ID="HyperLink2" runat="server">View More Workout Programs »</asp:HyperLink>
如果你有這樣做的代碼隱藏,然後使用LinkButton
代替HyperLink
。然後它將有一個點擊事件,就像任何按鈕一樣,在該點擊事件中,您可以將其他元素設置爲.Visible=true
。
但是,這是否需要在代碼隱藏?請記住,在服務器端和客戶端的代碼之間的「知名度」的區別:
.Visible=false
在服務器端,內容不交付給客戶的。display:none
,則該內容存在,並且可以在頁面源中查看,但瀏覽器不顯示該內容。在某些情況下,前者是出於安全目的而需要的。但是,如果這只是用戶體驗的問題,那麼我會建議在客戶端完全顯示/隱藏內容,以避免僅僅改變元素顯示屬性的後備功能。
例如(假設的jQuery):
<a id="toggler" href="#">Show the content</a>
<div id="hidden" style="display:none;">Content</div>
<script>
$(document).ready(function(){
$("#toggler").click(function(){
$("#hidden").show();
});
});
</script>
使用一個asp:LinkButton
代替超鏈接和處理OnClick
事件。在OnClick
事件中,根據是否要顯示或不顯示,切換myDropDownList.Visible
。
您應該在客戶端實現這種功能(JavaScript代碼)以改善用戶體驗。
無論如何,當單擊鏈接時,您可以使用可見性= false的Panel,並在代碼後面放置Visibility = true。您需要用css調整該面板的位置,使其看起來像下拉菜單。
你可以使用jQuery嘗試:在服務器上的LinkButton而不是和處理OnClick事件:http://www.jquery.com
它將會像
<script type="text/javascript">
$(document).ready(function(){
$("#<% =HyperLink2.ClientID %>").click(function() {
$("#<% =DropDownList1.ClientID %>").toggle();
});
});
</script>
如果您需要發送的形式返回到服務器上,使用ASP側。如果您需要在客戶端顯示下拉列表,請使用javascript函數與onclick客戶端事件顯示或隱藏您想要的任何部分。