MasterGH

Клик на элементе вызвает обработку его информации

2 сообщения в этой теме

task.png

Вводим в поле слово и похожие слова динамически подгружаются с IIS сервера по запросу который я составил

        <asp:AccessDataSource ID="AccessDataSource1" runat="server" 
DataFile="~/App_Data/test.mdb"
SelectCommand="SELECT [fsText] FROM [tblRecords] WHERE ([fsText] LIKE ? + '%')"
onselecting="AccessDataSource1_Selecting">
<SelectParameters>
<asp:Parameter Name="fsText" Type="String" />
</SelectParameters>
</asp:AccessDataSource>

1. Впорос. По нажатию мышки на элементе полученного с сервера его данные, т.е. целая строка должна передаться в поле ввода. Перечитал туторы не очень понимаю, как это сделать.


<input id="Text1" type="text" onkeyup="Send()"/></div>
<table class="Table">
<tr><td onclick="ClickTD(this)"><span class='FontSearch'>Животное1</span> на крыше</td></tr>
<tr><td onclick="ClickTD(this)"><span class='FontSearch'>Животное2</span> на крыше</td></tr>
</table>

Вызываем функцию ClickTD(this)

    function ClickTD(e) {   
v = e.toString();
document.getElementById("Text1").value=v;
}

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

2. Впорос. Сетевой трафик.

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

1) Вот эта разметка полностью строиться на сервере и динамически (без перезагрузки всей страницы) передаётся клиенту

<input id="Text1" type="text" onkeyup="Send()"/></div>
<table class="Table">
<tr><td onclick="ClickTD(this)"><span class='FontSearch'>Животное1</span> на крыше</td></tr>
<tr><td onclick="ClickTD(this)"><span class='FontSearch'>Животное2</span> на крыше</td></tr>
</table>

где каждое животное берём из базы.

2) Способ не формировать эту разметку на сервере, а скинуть не форматированные данные...

Животное1@
Животное2@

...клиенту в функцию, которая построит всю разметку и динамически встроит её в тег div-а (pop-up) панели.

Первый способ очень простой на C# и удобен и гораздо лучше соблюдается интеграция в другие проекты с приминением ООП C#. Также код формирования разметки закрыт от сторонних глаз. В этом случае те кто захотят такое же формирование разметки им придётся самим писать код или обращаться на мой сервер чтобы получить разметку снова.

Итак плюсы первого способа: интеграция ООП, закрытый код.

Минусы: увеличение нагрузки на сервер и увеличение трафика, клиенту дольше ждать ответа с сервера вместо того чтобы самому обработать скрипт.

Про второй способ, когда разметка формируется на клиенте.

Плюсы для меня: меньшая нагрузка на сервер, меньше трафика.

Минусы: код javascript менее удобен как в написании так и в интеграции с будущеми поектами на ООП C#.

С этим разумный вопрос не ужели нужно учитывать все плюсы и минусы двух способов или нужно придерживаться жёстко второго способа. Короче что выбрать и как?

0

Поделиться сообщением


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

Я эту задачу решил и позже дам ответ.

А вторую задачу ещё можно обсудить =)

PS Советую любителя javascript зайти на сайт и узнать инфу по работе с событиямисайт =)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас