#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 для получения дополнительной информации.