2012-03-02 49 views
1

我遇到與動態添加或由JavaScript從下面的博客中刪除HTML表格行:網頁提交HTML不見了

http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html

我的目標是有用戶ASP.NET FileUpload控件上傳圖片,那麼圖片名稱將會在表格行上動態顯示,表格應該從上面的JavaScript中生成。

問題是每次我添加圖像時,回發將導致HTML表不見了,我該如何將HTML表存儲在某處?

我確實考慮使用StringBuild類從後面的代碼追加HTML表,但是會刪除行。

任何更好的解決方法來實現這一目標?請給出您的評論。

謝謝您的高級。

+0

你能後至今你已經嘗試的代碼... – Chandu 2012-03-02 04:14:44

回答

2

ASP.NET FileUpload控件不是非常靈活,並且有更多最新的方法來處理文件上傳。有一個偉大的jQuery文件上傳插件,如果我正確地理解你的問題,就是你想要的:http://blueimp.github.com/jQuery-File-Upload/

1

您需要確保生成並插入動態控件的代碼在每個頁面回發後運行。只要你這樣做,ViewState將確保輸入到動態控件中的值在回發後保持不變。

1

這是一個使用文字控件的簡單模型。

ASPX

 <asp:Literal ID="lbl1" runat="server"></asp:Literal> 
     <br /> 
     <br /> 
     <asp:Button ID=btnAdd runat=server Text="Simulate Upload Complete()" onclick="btnAdd_Click" /> 
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 

CS

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     lbl1.Text = "<table>"; 
     lbl1.Text += "<tr>"; 
     lbl1.Text += "<td>Row1</td>"; 
     lbl1.Text += "</tr>"; 
     lbl1.Text += "<tr>"; 
     lbl1.Text += "<td>Row2</td>"; 
     lbl1.Text += "</tr>"; 
     lbl1.Text += "</table>"; 
    } 
} 

protected void btnAdd_Click(object sender, EventArgs e) 
{ 
    lbl1.Text = lbl1.Text.Replace("</table>", string.Empty); 
    lbl1.Text += string.Format("<tr><td>{0}</td></tr>", TextBox1.Text); 
    lbl1.Text += "</table>"; 
    TextBox1.Text = string.Empty; 
}