Я борюсь с проблемой, я просто могу найти решение.asp.net 2.0: update formview с jquery
Прежде всего, я не могу использовать asp.net AJAX или что-то еще, что стандартное asp.net 2.0, поскольку администратор сервера ничего не установит.
Так вот, что я пытаюсь сделать. (Для любопытным, перейдите к смелой вопрос ниже)
Моя страница состоит из нескольких частей, каждая из которых получает нагруженных jquery.load (URL). Одна из этих частей страницы заполняется aspx, которая содержит вид формы. Поскольку я не хочу иметь обратную передачу, я переключаюсь на EditTemplate в виде формы простым щелчком на обычной кнопке html, которая представляет параметр, указывающий, что страница aspx переключается в режим редактирования, например.
Page_Load(...)
{
if(Request.Params["SwitchEditMode"]) SwitchEditMode();
}
Это прекрасно работает! Теперь вот часть, где я застрял. Элементы в EditTemplate основаны на выборе из представления базы данных и привязаны к полям <%# Bind("xx")
. Затем у меня есть кнопка html (без asp control), которая отправляет параметр на страницу aspx, которая сообщает ему, чтобы вызвать метод обновления DataSource. В методе dataSource_updating я ищу элементы управления, которые содержат значения, которые я хочу сохранить. Но эти значения всегда одни и те же, как при переключении на представление редактирования. Никакие изменения, которые я делаю в текстовых или выпадающих меню, не сохраняются.
Короче говоря, вопрос о том, как сохранить значения из EditTemplate в базу данных с помощью jquery?
До сих пор я пробовал несколько согласований, которые не сработали.
В методе обновления() ищет управления по FindControl и установить
e.Command.Parameter["xyz"] = foundcontrol.SelectedValue;
. Значения всегда совпадают с значениями в начале.<asp:parameter name="SampleValue" />
и в EditTemplate<asp:TextBox Value='<%# Bind("SampleValue")#>
Значения всегда равны нулю.Установить скрытое поле ввода с выбранным значением с помощью javascript. Это не работает, как управление в EditTemplate видны только после перехода в режим редактирования
Так что, может быть, я совершенно неправильно с моими идеями, направляясь в совершенно неправильном направлении, и это может быть достигнуто гораздо проще , но до сих пор я не знаю, как этого добиться. Я мог бы сделать это без ajax, но для удобства пользователей я предпочел бы версию с jquery.
Для всех, кто прочитал это и не запутался :-), спасибо за ваши усилия!
С наилучшими пожеланиями,
Andreas
Что я забыл. Некоторые элементы редактирования заполняются DropDowns из другого DataSource, и значения должны быть записаны в другую таблицу базы данных, чем представление, из которого происходят данные. –