2012-02-09 6 views
2

こんにちは、私はASP.NETページでselectというHTMLコントロールを持っていて、それをrunat = "server"として作ったので、リストアイテムを動的に追加しようとしました。コードHTML asp.netでアイテムを選択する

var list = document.getElementById('<%=list1.ClientID%>'); 
var newListItem = document.createElement('OPTION'); 
newListItem.text = "Emp1"; 
newListItem.value = "e101"; 
list.add(newListItem);  
<asp:Panel ID="pnlemp" runat="server" 
    Style="display: none;" 
    CssClass="modalPopup" 
    width="700px" Height="350px"> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 
       <select id="list1" multiple="true" name="list1" runat="server"> 
       </select> 
      </ContentTemplate> 
     </asp:UpdatePanel> 
</asp:Panel> 

、今、私はそれが0を示しているlist1.Items.Countように私のコードからこれにアクセスしようとする以下のようなもの。

これは間違っていますか?あなたは、クライアント側のスクリプトでHTMLを変更すると、(すべてのコントロールを追跡)ビューステートが更新されません事前

+0

Javascriptコードを呼び出すときは? –

答えて

0

は、動的にサーバー側のコードまたは を通じてアイテムを追加画像にサーバ側を持参し、JavaScriptですべてを処理いけません。

javascriptを介して追加されたアイテムはasp.netによって永続化されません。さらに、「無効なコールバックまたはポストバック引数」を受け取る可能性があります。これは、選択項目にこれらのリスト項目(オプション)が追加されたことを理解できないためです。

1

感謝。その結果、ポストバックを作成すると、新しいアイテムは「そこに」存在しません。

時々、ポストバックを強制する__doPostBack()javascriptがありますが、それが動作するかどうかはわかりません。この問題を解決するにいずれかについては

+0

私のページがポストバックしているとき、ゼロにリセットされています。それを解決する他の方法はありますか? – jestges

+0

__doPostBackは、主にAutoPostBackプロパティを持つコントロールでフォームを送信するために使用されるjavascriptメソッドです。この場合は動作しません。 –

+0

それから、私はそれを修正できるものは何も知らない。 Sry – f2lollpll

関連する問題