28
A
回答
41
如果您需要在客戶端對其進行操作,則不能在服務器端使用Visible屬性。相反,將其CSS顯示樣式設置爲「無」。例如:
<asp:Label runat="server" id="Label1" style="display: none;" />
然後,你可以把它放在與客戶端可見:
document.getElementById('Label1').style.display = 'inherit';
你可以把它再次隱藏:
document.getElementById('Label1').style.display = 'none';
請記住,有在實踐中可能會出現ClientID比「Label1」更復雜的問題。您需要使用帶有getElementById的ClientID,而不是服務器端ID(如果它們不同)。
0
如果等到頁面加載完畢,然後將按鈕的顯示設置爲無,那應該可以工作。然後你可以在稍後看到它。
0
確保Visible屬性設置爲true或控件不會呈現給頁面。然後你可以使用腳本來操縱它。
10
試試這個。
<asp:Button id="myButton" runat="server" style="display:none" Text="Click Me" />
<script type="text/javascript">
function ShowButton() {
var buttonID = '<%= myButton.ClientID %>';
var button = document.getElementById(buttonID);
if(button) { button.style.display = 'inherit'; }
}
</script>
請勿使用服務器端代碼來執行此操作,因爲這需要回發。您可以設置一個隱藏按鈕的CSS屬性,而不是使用Visibility =「false」。然後,在JavaScript中,只要您想再次顯示按鈕,就將該屬性切換回來。
使用ClientID是因爲它可以與服務器ID不同,如果按鈕位於命名容器控件中。這些包括各種面板。
4
什麼戴夫·沃德繼續說:
- 您不能可見屬性設置爲false,因爲該控件將不會被渲染。
- 您應該使用樣式屬性來設置它的顯示到沒有。
頁/控制設計
<asp:Label runat="server" ID="Label1" Style="display: none;" />
<asp:Button runat="server" ID="Button1" />
後面
某處在負載部分代碼:
Label label1 = (Label)FindControl("Label1");
((Label)FindControl("Button1")).OnClientClick = "ToggleVisibility('" + label1.ClientID + "')";
JavaScript文件
function ToggleVisibility(elementID)
{
var element = document.getElementByID(elementID);
if (element.style.display = 'none')
{
element.style.display = 'inherit';
}
else
{
element.style.display = 'none';
}
}
當然,如果你不想切換,但只是爲了顯示,該按鈕/標籤調整相應的JavaScript方法。
這裏重要的一點是,您需要將您要在客戶端操作的控件的ClientID
的信息發送到javascript文件,可以通過設置全局變量或通過函數參數(如我的示例中)來設置。
3
你需要做的,當這樣的東西要警惕的XSS:
document.getElementById('<%= Label1.ClientID %>').style.display
有機會,沒有人將能夠與Label1的在這種情況下,客戶端ID篡改,但只是爲了你可能想通過它在安全方面是通過對AntiXss library's方法之一值:
document.getElementById('<%= AntiXss.JavaScriptEncode(Label1.ClientID) %>').style.display
1
這是我發現的最簡單的方法:
BtnUpload.Style.Add("display", "none");
FileUploader.Style.Add("display", "none");
BtnAccept.Style.Add("display", "inherit");
BtnClear.Style.Add("display", "inherit");
我在else相反的,所以它能夠處理顯示它們。這可以通過頁面加載或方法來刷新頁面上的控件。
相關問題
- 1. 使用jquery更改標籤標籤的可見性
- 2. 在更改標籤上更改ActionBar項目的可見性
- 3. 使用Javascript和asp.net的表可見性
- 4. Asp.net按鈕的可見性使用javascript
- 5. 使用javascript設置標籤爲可見
- 6. 如何動態更改mvc3中標籤的可見性?
- 7. 使用複選框使用javascript更改對象可見性?
- 8. 如何更改使用類訪問的div標籤的可見性?
- 9. 更改可見性屬性
- 10. WPF PasswordBox標籤可見性
- 11. 使用C++更改GUI可見性
- 12. 使用z-index更改div可見性
- 13. 如何使用javascript更改按鈕的可見/隱藏屬性?
- 14. 使用JavaScript更改表格中所有行的可見性
- 15. 標籤在屬性更改爲可見時未顯示
- 16. 更改itemRemderer的可見性
- 17. 使用JavaScript更改asp.net中的光標
- 18. 使用MVVM更改父容器的可見性更改的TextBox.Text
- 19. 使用Javascript將所有span標籤更改爲標籤標籤?
- 20. 用JavaScript改變DIV的可見性
- 21. 使用Javascript更改CSS動畫可見性
- 22. 用Javascript更改標籤
- 23. 佈局更改可見性
- 24. 當Div標籤可見時,Div標籤中的Asp.net控件不可見?
- 25. 如何使標籤可見/不可見?
- 26. 使用javascript更改primefaces selectonemenu標籤/值
- 27. 使用Javascript更改標籤文本
- 28. 如何更改HTML標籤使用JavaScript
- 29. 使用Javascript更改標籤內容
- 30. 如何使用javascript更改標籤值