Сделать ячейку таблицы или Div интерактивной в ASP.net

#c# #asp.net

#c# #asp.net

Вопрос:

У меня есть проект, в котором я должен создать игру в ASP.net называется futoshiki (см. www.dofutoshiki.com для примера того, что я делаю). Я использую Visual Studio 2010.

У меня есть таблица размером 5 х 5, где каждая ячейка содержит целое число 1-5. пользователь должен иметь возможность щелкнуть по ячейке, а затем нажать число 1-5. Моя проблема в том, что, похоже, я не могу сделать ячейки таблицы щелкающими. Я хочу, чтобы пользователь мог щелкнуть ячейку, которую он хочет изменить, и ввести число от 1 до 5.

Я видел пример, где люди использовали [a] и [span]. Но я действительно не думаю, что необходимо, чтобы каждая ячейка таблицы была ссылкой. Я просто хочу, чтобы каждая ячейка таблицы генерировала событие при нажатии на нее, а затем обработчик событий (C # event handler) считывает входное значение, проверяет, действительно ли оно и т.д., Затем Изменяет значение ячейки таблицы на новое входное значение.

Я также попытался посмотреть на [div] также. Вместо того, чтобы иметь таблицу 5 x 5, я мог бы просто иметь like…. 25 тегов div. но мне не удалось сделать их доступными для нажатия!

Спасибо!

Алекс

Ответ №1:

Если вы используете jQuery (что вам и следует), вы можете привязаться к событию click вот так…

 <table>
   <tr>
        <td id="cell_1_1"><!-- something here --></td>
        <td id="cell_1_2"><!-- something here --></td>
        <td id="cell_1_3"><!-- something here --></td>
        <td id="cell_1_4"><!-- something here --></td>
        <td id="cell_1_5"><!-- something here --></td>
   </tr>
</table>

<script type="text/javascript">
     $('#cell_1_1').click(function(){ alert("This is how we do it!"); });
</script>
  

Удачи!

Комментарии:

1. Монтел Джордан гордился бы.

Ответ №2:

Просто предлагаю: почему бы не использовать расширенный GridView? В нем есть CellClicked событие по умолчанию и все приятные функции для обработки данных, полученных от события.

Ответ №3:

Я предлагаю использовать jQuery. Он будет обрабатывать события щелчка, а также события нажатия клавиши. Недостатком является то, что это не будет автоматически взаимодействовать с серверной частью C #. Вы можете сделать это с помощью ajax или вручную вызвав метод обратной передачи, предоставляемый ASP.NET .

Пример настройки события щелчка jQuery:

 $("#IdOfCellOrDiv").click(function(){
    //Do a postback or axaj call to update server.
});
  

Событие нажатия клавиши очень похоже на setup. Просмотрите документацию jQuery для получения дополнительной информации.