Перейти к содержанию

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


Рекомендуемые сообщения

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#.

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

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

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

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

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

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

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

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.