Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 14:05   #1
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию как Привязать скрипт обработчик в контролу

Доброго времени суток уважаемые форумчане. Я недавно занялся изучением ASP. Сделал небольшой проект по загрузке файлов на сервер через базу и скачивание. Вот возникла проблема с которой уже два дня бьюсь. В общем написал свой контрол который из базы подтягивает мне список мой файлов и формирует на странице таблицу состоящую из двух колонок. В одной колонке имя файла а в другой submit ну или можно сделать button. Ну тоесть по нажатия этой кнопке файл предлагается для скачивания пользователю. Если мы добавляем файлы то и количество записей в таблице растет ну и кнопок соотвественно. Вот мне необдимо по нажатия кнопки понимать какая кнопка нажата что бы скачать именно этот файл. Тоесть мне нужно повести на кнопки скрипт как я понял который будет записывать в скрытое поле имя кнопки, а скрытое поле в свою очередь вызывать событие при изменении его значения на сервере. Вот я не знаю как повести этот скрипт на мой кнопки. расскажите плиз
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:11   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Что такое "таблица" на странице? что за контрол?
eval вне форума Ответить с цитированием
Старый 18.10.2012, 14:42   #3
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

public class TableFileControl : Control
{
private string[] _arrayTables;
private string[] _arrayRows;
private BasaLayerClient _layerBase;

public BasaLayerClient LayerBase
{
get { return _layerBase; }
set { _layerBase = value; }
}

public string[] ArrayRows
{
get { return _arrayRows; }
set { _arrayRows = value; }
}


public string[] ArrayTables
{
get { return _arrayTables; }
set { _arrayTables = value; }
}

protected override void Render(HtmlTextWriter writer)
{
LayerBase = new BasaLayerClient(this.Page);
ArrayTables = LayerBase.GetArrayNameTables();
if (ArrayTables != null)
{
writer.AddAttribute("border", "1");
writer.RenderBeginTag(HtmlTextWrite rTag.Table);
for (int i = 0; i < ArrayTables.Length; i++)
{
HeaderRender(writer, ArrayTables[i].ToString());
ArrayRows = LayerBase.GetColumnsTable(ArrayTabl es[i], "name_file");
for (int j = 0; j < ArrayRows.Length; j++)
{
FileNameRender(writer, ArrayRows[j].ToString());
}
}
writer.RenderEndTag();
}
}

private void HeaderRender(HtmlTextWriter writer, string header)
{
writer.RenderBeginTag(HtmlTextWrite rTag.Tr);
writer.AddAttribute("colspan", "2");
writer.AddAttribute("align", "center");
writer.RenderBeginTag(HtmlTextWrite rTag.Td);
writer.AddAttribute("color", "Red");
writer.AddAttribute("face", "Arial");
writer.AddAttribute("size", "10");
writer.RenderBeginTag(HtmlTextWrite rTag.P);
writer.WriteEncodedText(header);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}

private void FileNameRender(HtmlTextWriter writer, string nameFile)
{

writer.RenderBeginTag(HtmlTextWrite rTag.Tr);
writer.RenderBeginTag(HtmlTextWrite rTag.Td);
writer.WriteEncodedText(nameFile);
writer.RenderEndTag();
writer.RenderBeginTag(HtmlTextWrite rTag.Td);
writer.AddAttribute("type", "submit");
writer.AddAttribute("value", "Скачать");
writer.AddAttribute("name", this.UniqueID);
writer.RenderBeginTag(HtmlTextWrite rTag.Input);
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
}
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:43   #4
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

<CustomControl:TableFileControl runat = "server" ID = "TableFileControl" ></CustomControl:TableFileControl>
<asp:HiddenField id = "hiddenFild" runat = "server"
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:43   #5
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

вот так он у меня на страничке размещен
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:45   #6
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

[IMG]file://localhost/C://Безымянный.png[/IMG]
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:46   #7
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

ой) не то написал
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:47   #8
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

Короче я не могу на клиенте связять скрипт который бы обрабатывал мои кнопки . как это сделать?
Dan_banan вне форума Ответить с цитированием
Старый 18.10.2012, 14:49   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

просто интересно, а чем стандартные не угодили?
eval вне форума Ответить с цитированием
Старый 18.10.2012, 14:56   #10
Dan_banan
Пользователь
 
Регистрация: 19.11.2011
Сообщений: 23
По умолчанию

ну у меня там хитрое приложение))) так вы мне расскажите как привязать скрипт к < input type = button>. Просто кнопки у меня создаются динамически в зависимости от количества записей в таблице. все хорошо если я допустим добавлю атрибут
writer.AddAttribute("onclick", 'alert('ok')'); то он работает. а если я укажу просто имя функции то не работает Я просто не знаю где мне прописать мой скрипт что бы кнопка видела его и вызывала
Dan_banan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как привязать скрипт к опере Salikh JavaScript, Ajax 7 21.07.2012 15:52
Привязать к кнопке КАК? ProGec4 Visual C++ 1 25.12.2011 19:11
Как обратиться к контролу на листе? Maryver Microsoft Office Excel 1 22.04.2011 18:47
Скрипт обработчик eldar PHP 5 11.09.2009 19:03
как привязать время? Alexi Компоненты Delphi 2 12.04.2009 22:32