[英]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.