Вопрос следующий: у нас есть ListView, в котором содержатся TextBox, заполняющийся с помощью List<string>.
В List<string> содержится текст, который и отображется в текстбоксе(название) и ID.
Это делается за тем, чтобы можно было редактировать значение в текстбоксе. Пользователь просто вводит новый текст и поле обновляется.
Вопрос следующий как в Яваскрипт организовать перехват айдишника, полученного из List<string> ?
Просто считать по событию OnTextChanged в текстбоксе не достаточно тк получим только обновленный текст, а нужен еще айдишник из List<string>, чтобы знать, что отредактировано.
айдишник можно поидее засунуть в Label скрытый тоже в ListView, но опять же как считать значение конкретного лейбла, относящегося к текстбоксу?
10 сентября 2009 в 14:00
на стороне сервера или на стороне клиента?
10 сентября 2009 в 14:00
тут тоже вариантов много, если JavaS?1?ript – как вариант DOM. разворачивать нужный вам нод. Не очень удобный.
Есть вариант написать унаследованные от стандартных контролы, которые могут содержать поле CustomItemID например, а при DataBindинге присваивать уникальные CustomItemID для каждого текстбокса.
Написать общий метод обработки для каждого элемента.
К тому же есть object sender
protected void onTxtItems_click(object sender, EventArgs a) {
TextBox txt = sender as TextBox;
if(txt != null)
{
//do something
}
}
или например в JS можно сделать метод
function ontxtclick(object)
{
//do something with object (input type=text)
}
и вызывать <input type="text" onclick="ontxtclick(this)" value="myValue"/>
10 сентября 2009 в 10:04
сорри, немного не правильно написал у меня не List<string>, а List<Product>, где Продукт класс с определенными get set свойствами и там у нас и есть Name и ID!
ListBox это не то! Фишка в том, что ListView это усовершенствованный GridView. Те у нас есть таблица с кучей текстбоксов, но по факту это "размноженный" 1 текстбокс. Соответсвенно как определить айдишник из коллекции List КОНКРЕТНОГО текстбокса в этом и проблема!
10 сентября 2009 в 1:01
=) где тут ID??? List<String> – как я понимаю список строк, строк и не более… где тут ID?
или строка содержит сепаратор? например {"1|string value 1","2|string value 2"}
во вторых, это очень просто, любой список будь DropDownList или ListBox
содержит такие свойствакак SelectedIndex, SelectedValue, SelectedItem из который на стороне сервера можно без проблем вытащить все что угодно.
Если хотите на клиенте это делать, пишите например в hidden элемент, как вариант, или забирайте через Client CallBack (ICallbackEventHandler).
//www.codeproject.com/KB/aspnet/ClientCallBackA...
Imho так, если я Вас правильно понял