2011-02-02 67 views
0

有一些這樣的代碼:jquery的asp.net按鈕知名度

if (bValid) { 
     $(this).dialog("close"); 
$("#btnExcel").show(); } 

和的.aspx樣子:

<form id="form1" runat="server"> 
        <input id="inpHide" type="hidden" runat="server" /> 
        <asp:Button ID="btnExcel" runat="server" Text="Excel" AccessKey="E" BorderWidth="0px" 
         OnClick="btnExcel_Click" ToolTip="Excel" Visible="false" /> 
        </form> 

`bValid` is some part of code 

爲什麼這不工作? 可以做些什麼來解決它。 使按鈕可以粘貼?

可能是其無法訪問,因爲:

var button = $('#btnExcel')[0]; 
         alert(button); 

顯示:不確定!

尋求幫助。

回答

5

你不能有按鈕可見=服務器端的「假」。那就是在你的ASPX頁面中,你需要將它設置爲Visible =「true」,否則按鈕不會呈現爲html。

您可以在按鈕上將樣式attirbute(或CssStyle attirbute)設置爲style =「display:none;」然後事情會工作

<asp:Button ID="btnExcel" runat="server" Text="Excel" AccessKey="E" BorderWidth="0px" 
         OnClick="btnExcel_Click" ToolTip="Excel" Visible="true" style="display:none;" /> 
+0

謝謝Visible =「false」可見=「true」對嗎? – Pratik 2011-02-02 07:35:38

0

您可以將按鈕的顯示設置爲無?

+0

如何..我不知道 – Pratik 2011-02-02 07:29:25

0

這是因爲ASP.Net生成的服務器控件的ID在瀏覽器中不同。在瀏覽器中查看HTML源代碼,找到正確的控件ID並在jQuery代碼中使用它。您也可以嘗試ASP.Net

的客戶端ID功能更見本:http://forums.asp.net/p/1522697/3664258.aspx

+0

該按鈕不呈現爲html,因爲它已被設置爲服務器端的false。 ASP控件設置爲false時不會呈現。 – 2011-02-02 07:39:58

0

btnExcel會因爲它的服務器端控件被截斷。

獲取錯位id作爲document.getElementByid(<%=btnExcel.ClientID%>)

+1

實際上(html)沒有按鈕,因爲它的Visible屬性是錯誤的。 – 2011-02-02 07:32:13