2017-04-18 10 views
-3

コードビハインドファイルを使用してHTMLボタンをプロパティ "innerhtml"に追加しようとしているHTMLリストがあります。しかし私は、onclickのイベントが解雇されていないボタンを追加することができる午前innerhtmlプロパティを使用してhtmlボタンを追加する

HTML:

<ul runat="server" id="list"> 
    <li></li> 
    <li><a id="loginID" runat="server" href="../Accounts/login.aspx">Login</a></li> 
    <li id="logout" runat="server"> <a href="~/Register.aspx" runat="server"> Register</a></li>  
</ul> 

コードの背後にある:

logout.InnerHtml = "<input type=\"submit\" id=\"b1\" runat=\"server\" onserverclick=\"b1_click\" />"; //logout is the id of the list item    
     } 
    } 

    public void b1_click(Object sender,EventArgs e) 
    { 
     Response.Redirect("~/Accounts/login.aspx"); 
    } 
} 
+0

は、多分それはあなたに役立つことができ、http://stackoverflow.com/questions/4830095/asp-net-button-onserverclick-only-works-when-onclick-isnt-definedを見てみましょう。 – PhoneixS

+0

[JavaScriptでHTML要素を挿入する](http://stackoverflow.com/questions/814564/inserting-html-elements-with-javascript)の可能な複製 –

答えて

0

これは、動的にサーバ - を作成するための正しい方法ではありませんサイドコントロール。 以下の例を参考にして理解を深めることをお勧めします。 ClientIDプロパティは、実行時に読み取り専用で初期化されるため、割り当てることができません。

protected void Page_Load(object sender, EventArgs e) 
{ 
    Button btn = new Button(); 
    btn.Text = "Dynamic Button"; 
    btn.ID = "b1"; // Server Side ID 
    btn.Click += b1_click; 

    logout.Controls.Add(btn); 
} 

public void b1_click(Object sender,EventArgs e) 
{ 
    Response.Redirect("~/Accounts/login.aspx"); 
} 
関連する問題