Получение текста из текстовой области из обновления ASP.NET GridView - PullRequest
1 голос
/ 29 января 2011

Я схожу с ума. Используя ASP.NET в GridView, среди прочих элементов управления у меня есть следующее:

<asp:TemplateField HeaderText="Intention">
    <EditItemTemplate>
        <asp:TextBox ID="IntentionInfo" Enabled="true" TextMode="MultiLine" Wrap="true" runat="server" />
    </EditItemTemplate>
    <ItemTemplate>
        <asp:TextBox ID="IntentionInfo" Enabled="false" TextMode="MultiLine" runat="server" />
    </ItemTemplate>
</asp:TemplateField>

Я бы хотел извлечь значение из этой текстовой области и сохранить в базе данных. Тем не менее, на стороне сервера, я пытаюсь извлечь значение, например:

string txt = (TextBox)DonationResultsTable.Rows[e.RowIndex].Cells[6].Controls[1].Text;

... но я продолжаю получать значение, которое было отправлено клиенту.

Я написал этот javascript и вижу изменение значений в DOM, но сервер продолжает принимать старое значение.

$("textarea").change(function()
{
    var txt = $(this).val();

    $(this).html(txt).text(txt);
});

Итак, мое предположение было ViewState, но я отключил его для этих элементов управления, например:

<asp:TextBox ID="IntentionInfo" ViewStateMode="Disabled" Enabled="false" TextMode="MultiLine" runat="server" />

Все еще ничего! Есть идеи?

1 Ответ

1 голос
/ 29 января 2011

Одним из вариантов может быть использование скрытого поля и обновление его для текста, измененного для текстовой области.Вы можете сделать это с помощью jQuery следующим образом:

$("textarea[id$=tbTest]").change(function () {
                $("input[id$=hdnVal]").val($("textarea[id$=tbTest]").val());
            });

Затем на стороне сервера вы можете получить значение скрытого поля и сохранить его в своей базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...