0

このようなコードがいくつかあります:

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);

表示:未定義!

助けを求めています。

4

4 に答える 4

5

サーバー側でボタンをVisible="false"にすることはできません。これはASPXページにあり、Visible = "true"にする必要があります。そうしないと、ボタンがhtmlにレンダリングされません。

ボタンのスタイル属性(またはCssStyle属性)を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;" />
于 2011-02-02T07:30:50.863 に答える
0

これは、ASP.Netによって生成されるサーバーコントロールのIDがブラウザーで異なるためです。ブラウザでHTMLソースを表示し、正しいコントロールIDを見つけて、jQueryコードで使用します。ASP.NetのClientID機能も試すことができます

詳細については、こちらをご覧ください:http: //forums.asp.net/p/1522697/3664258.aspx

于 2011-02-02T07:29:03.780 に答える
0

btnExcelサーバー側の制御のため、混乱します。

マングルされたIDを次のように取得しますdocument.getElementByid(<%=btnExcel.ClientID%>)

于 2011-02-02T07:30:14.307 に答える
0

ボタンの表示をなしに設定できますか?

于 2011-02-02T07:27:52.597 に答える