c#
  • asp.net
  • 2016-12-14 13 views 0 likes 
    0

    ここではMVCではなくWebフォームを使用しています。新しく生成されたボタンにOnClickをバインドする方法を見つけるのが難しいです。私はコーナーに自分自身をコード化された、私のページのコンテンツは、ボタンがクリックされたときに新たに追加されたボタンがaspで動作しません

    articleHTML += "<asp:Button ID='button' type='button' OnClick='Pull_Click' class='btn btn-default btn- lg'>Pull</asp:button>"; 
    
    protected void Pull_Click(object sender, EventArgs e) { 
         LabelTest.Text = "Works"; 
    } 
    

    Pull_Cickが呼び出されません文字列にHMLと後ろのコードから追加されます。テンプレート内でコンテンツを直接ループする必要があると思いますか?ありがとう!

    +0

    'ASPを追加:Button'は、JavaScriptを介してサーバ側Buttonコントロールを作成することはできません –

    +0

    ' runat'タグが必要です。 Webフォームの仕組みについて考えてみましょう。 Webフォームのマークアップはサーバー側で処理され、HTMLがクライアントに送信されます。クライアントにASPコントロールをHTMLに変換して正しく接続する仕組みはありません。 – mason

    答えて

    3

    ボタンを追加する方法は、ボタンのコールアヤックス

     Button btn = new Button(); 
         btn.Text = "test"; 
         btn.OnClientClick = "newbtn_Click()"; 
    
    
        [WebMethod] 
        public static string newbtnSubmit(string name) 
        { 
         return name; 
        } 
    
    を作るためにクリックイベント

    Button btn = new Button(); 
    btn.Text = "test"; 
    btn.Click += btn_Click; 
    maindiv.Controls.Add(btn); 
    
    void btn_Click(object sender, EventArgs e) 
        { 
         throw new NotImplementedException(); 
        } 
    

    上のため

    Dynamically Add ASP Controls

    https://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx

    を確認してください修正されていません

    とJavaScriptで

    <script> 
        function newbtn_Click() 
        { 
         var dataValue = { "name": "my name"}; 
         $.ajax({ 
          type: "POST", 
          url: "Default.aspx/newbtnSubmit", 
          data: dataValue, 
          error: function (XMLHttpRequest, textStatus, errorThrown) { 
           alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown); 
          }, 
          complete: function (jqXHR, status) { 
           alert("complete: " + status + "\n\nResponse: " + jqXHR.responseText); 
          } 
         }); 
        } 
    </script> 
    
    +0

    なぜそれが間違っていますか?私はどこかに行き、それがなぜ正しくないのかを知りたくありません。それが正しいと思わない場合は、答えに理由を追加してください。実行時にaspボタンを文字列htmlとして追加することができないため、 – CodingYoshi

    +1

    が発生します。 私の返信でmsdnからの参照を追加しました – Bakri

    +0

    今、私はどのように私のボタンコールajaxを作るのですか?ありがとう –

    関連する問題