2

RadCombobox の onclientselectedindexchanged イベントで「ブロック」または「なし」に設定されたコントロールとディスプレイを見つけようとしています。常に null を返します。スクリプトとコントロールは、コンテンツ ページのユーザー コントロールにあります。このコンテンツ ページのマスター ページもあります。Debugger ステートメントを使用してコードをデバッグしましたが、コントロールにはこのタグがあります。"ctl00_content2_ucControl1_imgTest". 画像の表示と非表示を切り替えるにはどうすればよいですか? 私にお知らせください。ご協力いただきありがとうございます。また、 document.getElementById("<%=imgTest.ClientID"); を使用しようとしました。および $find(("<%=imgTest.ClientID") ; しかし、これらはどれも機能していません。

<asp:Image ID="imgTest" ImageUrl="../../../images/test.gif" AlternateText="test"
                            runat="server" style="display:none"></asp:Image>

<telerik:RadComboBox ID="Combobox1" runat="server" DataTextField="test1"
                            DataValueField="test_id" NoWrap="true" Width="250" onclientselectedindexchanged="OnClientSelectedIndexChanged">                        </telerik:RadComboBox>


<script type="text/javascript">
function OnClientSelectedIndexChanged(sender, eventArgs) { 
     {
      var item = eventArgs.get_item(); 
          if(item.get_value() == "8") 
             {
            var imageControl = document.getElementById('imgTest');
            imageControl.style.display = "block"; 
            }
        }
</script>
4

2 に答える 2

2

imgTest はサーバー コントロールであるため、クライアント ID はサーバーによって自動的に生成されます。

この行を変更します。

var imageControl = document.getElementById('imgTest'); 

に:

var imageControl = document.getElementById('<%=imgTest.ClientId%>'); 

以前の試行の問題は、終了タグの欠落でした%>

于 2012-05-28T15:09:30.377 に答える
1

.net 4.0 を使用している場合は、 を設定するClientIDMode='Static'と、繰り返し可能な要素でない限り、コードは意図したとおりに正常に動作するはずです。

ClientIDMode の使用方法に関する詳細情報は次のとおりです: http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx

于 2012-05-28T16:40:45.843 に答える