2012-03-02 3 views
1

я сталкиваюсь с динамически добавлять или удалять HTML строку таблицы с помощью JavaScript из нижеследующего блога:постбэк вызвало генерироваться HTML пошел

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

Моя цель состоит в том, чтобы иметь контроль ASP.NET FileUpload для пользователя загружать изображения, то имя изображения будет динамически отображаться в строке таблицы, таблица должна быть сгенерирована из приведенного выше JavaScript.

Проблема заключается в том, что каждый раз, когда я добавляю изображение, postback приведет к исчезновению таблицы HTML, как я могу хранить таблицу HTML где-нибудь?

Я рассматриваю использование класса StringBuild для добавления таблицы HTML из кода позади, но будет проблема удаления строк.

Лучшее обходное решение для достижения этого? пожалуйста, сообщите свой комментарий.

Благодарим вас за продвижение.

+0

Вы можете разместить код, который вы пробовали до сих пор ... – Chandu

ответ

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; 
} 
Смежные вопросы