簡體   English   中英

動態Div創建asp.net

[英]Dynamic Div creation asp.net

我想按下按鈕點擊動態創建Div。

為此我提到了這個鏈接>> http://forums.asp.net/t/1349244.aspx

並在服務器端(.cs頁面)生成代碼,如下所示>>

public static int i = 0;
    protected void Button1_Click(object sender, EventArgs e)
    {
        i++;
        HtmlGenericControl newControl = new HtmlGenericControl("div");

        newControl.ID = "NEWControl"+i;
        newControl.InnerHtml = "This is a dynamically created HTML server control.";

        PlaceHolder1.Controls.Add(newControl);
    }

當我按下按鈕時,這段代碼每次給我一個div。我想添加div。

在客戶端使用JavaScript也嘗試>>

<body>
    <form id="form1" runat="server">
    <div>

        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" OnClientClick="addDiv();" />

    </div>
    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    </form>
</body>
</html>
<script type="text/javascript">
    function addDiv() {
        alert("Control comming in function");
        var r = document.createElement('Div');
        r.style.height = "20px";
        r.style.width = "25px";
        r.appendChild("div");
        alert("Control going out of function");
    }
</script>

這兩個都沒有用。

我犯了什么錯誤?

有什么問題嗎?

用這個

    public int Index
    {
       get
       {
          if(ViewState["Index"]==null)
          {
             ViewState["Index"]=0;
          }
          else
          {
             ViewState["Index"]=int.Parse(ViewState["Index"].ToString())+1;
          }

          return int.Parse(ViewState["Index"].ToString());    
       }
   }

    protected void Button1_Click(object sender, EventArgs e)
    {
        HtmlGenericControl newControl = new HtmlGenericControl("div");
        newControl.ID = "NEWControl"+Index;
        newControl.InnerHtml = "This is a dynamically created HTML server control.";

        PlaceHolder1.Controls.Add(newControl);
    }

它給你一個div,因為你正在添加一個div。
請記住,asp.net需要您在之后的PostBack上創建所有動態添加的控件。

如果你想要兩個控件,你必須向PlaceHolder添加兩個。

只需使用一個父div和一些ID(預定義讓我們說id="dvDynamic" )和runat="server"

然后使用dvDynamic.innerHTML = "<div> /* dynamic div contents */ </div>"

它是最簡單的方法,就好像你在ASP.net中使用html元素一樣,使用dom控件來更好地生成。 動態創建控件將需要處理,接口和許多事情來協調該控件。 由於它不是由系統預定義的。 你必須創造它。

因此,請選擇DOM元素選項。 那更快更好:)

我希望這個能幫上忙 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM