2016-05-07 11 views
0

"Select2"という2番目の選択コントロールを取得できません。 しかし、私は最初の選択コントロール "Select1"を得ることができます。 誰かがこの問題を解決する方法を知っていますか?ASP.NET webformは2番目のselect htmlコントロールを取得できません

function ShowModalDialog(myData) { 
     gmyData = myData; 

     var x = document.getElementById("Select1"); 
     var y = document.getElementById("Select2"); 
      } 

    protected void btnPopup_Click(object sender, EventArgs e) 
    { 
     List<MyItem> myList = new List<MyItem>(); 
     myList.Add(new MyItem("t1", "v1")); 
     myList.Add(new MyItem("t2", "v2")); 
     myList.Add(new MyItem("t3", "v3")); 

     string output = JsonConvert.SerializeObject(myList); 

     string szJS = "ShowModalDialog(" + output + ");"; 
     ScriptManager.RegisterStartupScript(this, this.GetType(), "key1", szJS, true); 
    } 

<body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
     <div> 
      <div id="dialog" style="display: none"> 
       This is a simple popup 
       <br /> 

       <select id="Select1" onchange="mySelectFunction1();" /> 
       <select id="Select2" onchange="mySelectFunction2();" /> 

      </div> 
      <asp:Button ID="btnPopup" runat="server" Text="Show Popup" OnClick="btnPopup_Click" /> 
     </div> 
    </form> 
</body> 
</html> 
+0

問題は 'ShowModalDialog'ですか?もしそうなら、その機能の残りを見ることができますか? – ConnorsFan

答えて

0

ClientIDMode="Static"をaspxページの上部に設定してみてください。 これは、クライアントIDをサーバーコントロールのIDと同じに設定します。 MSDN - Control.ClientIDMode Property

+0

彼の 'select'要素は' runat = "server"属性を持たないので、サーバコントロールではありません。したがって、それらのIDはマングルされてはならず、 'ClientIDMode'プロパティはそれらに適用されるべきではありません。 – ConnorsFan

+0

真実、良い点。私はSOに投稿するのは初めてのことです。私は私の答えを削除する必要がありますか? – Moo

+0

それはあなた次第です。同じソリューションについて考えている他のユーザーが、私たちの議論やコメントを見ることができるように、それを保持することができます。また、他の人が同様の問題の解決策を探してここに来ることができ、あなたの提案は自分のケースに当てはまるかもしれません。 – ConnorsFan

0

ShowModalDialogに問題があります。 Hereは私の完全なソースコードです。

関連する問題