jquery.clone () и Формы ASP.NET

Таким образом, у меня есть страница, где я хотел бы смочь добавить несколько, динамических пользователей к записи в базе данных. Вот грубая начальная страница:

    <div id="records">
        <div id="userRecord">
            Name: <asp:TextBox runat="server" ID="objNameTextBox"></asp:TextBox> <br />
            Phone Number: <asp:TextBox runat="server" ID="objPhoneNumberTextBox"></asp:TextBox> <br />
        </div>
    </div>

И jQuery:

   $(function () {
   $(".button").button().click(function (event) { addnew(); event.preventDefault(); });
    })
    function addnew() {
        $('#userRecord').clone().appendTo('#records');
    }

Таким образом, мой вопрос - то, что я использую в рамках ASP.NET, чтобы смочь опросить все данные в форме и добавить уникальную запись для каждого #userRecord отделения в #records отделении? Да - я должен изменить userRecord на класс - я буду иметь дело с этим. Это - просто простое тестирование здесь.

Я должен посмотреть в JSON для этого типа функции? Я не знаком с ним, но мог понять его, если это - действительно мой наилучший вариант. Спасибо за руководство!

1
задан Jeff 14 June 2010 в 20:27
поделиться

2 ответа

Вы не можете дублировать элементы управления веб-форм ASP.NET с помощью Javascript, потому что среда выполнения отслеживает элементы управления в вашем HTML. Если вы попытаетесь дублировать их с помощью Javascript, вы продублируете HTML, и они могут выглядеть одинаково, но ASP. NET ничего о них не узнает.

Вы можете сделать это, используя UpdatePanel, и запустить в нем сообщение с помощью кнопки, а также программно создать элементы управления в вашем бэкэнде и добавить их в указанную панель, что имитирует то, что вы пытаетесь сделать.

Другим способом было бы создание входных данных HTML и отправка их в веб-службу или веб-метод и выполнение фактических вставок в базу данных, но обычные методы ASP.NET не будут работать с указанными входными данными, поскольку они не контролирует, насколько это касается ASP.NET.

2
ответ дан 2 September 2019 в 23:46
поделиться

Если вы пытаетесь добавить новые записи во время обратной передачи страницы ASP.NET, то ... удачи. Я не уверен, что вы МОЖЕТЕ добавлять новые «элементы» в список на стороне клиента. ASP.NET WebForms использует состояние просмотра (которое на самом деле представляет собой просто большой блок информации, встроенный непосредственно в HTML-код страницы, возвращаемой пользователю) для поддержания состояния страницы, и я не думаю, что вы легко сможете (я Я уверен, что теоретически возможно) обновить состояние просмотра на стороне клиента (независимо от того, используете ли вы jQuery или даже JavaScript).

Может быть, моя собственная ситуация достаточно похожа. Если у меня есть страница со списком элементов, и я хочу разрешить пользователю добавлять новые элементы, я бы добавил соответствующие поля ввода, как вы это сделали, и добавил специальную кнопку, для которой я бы привязал JavaScript функция (через jQuery), которая делает запрос AJAX к веб-службе (еще один элемент в вашем проекте Visual Studio) и передает данные туда и обратно с использованием JSON (намного проще, чем использование XML по умолчанию). Таким образом, всю страницу не нужно отправлять на веб-сервер, чтобы пользователь мог вносить изменения в данные серверной части, и вам не нужно (каким-то образом) анализировать сами данные страницы, чтобы определить, какие элементы необходимо добавить. база данных.

0
ответ дан 2 September 2019 в 23:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: