在ASP.net中创建一个Table Cell或Div Clickable

时间:2011-05-16 14:22:17

标签: c# asp.net

我有一个项目,我必须在ASP.net中制作一个名为futoshiki的游戏(请参阅www.dofutoshiki.com以获取我正在制作的示例)。 我正在使用visual studio 2010。

我有一个5 x 5的表,其中每个单元格包含1到5的整数。用户应该可以单击该单元格,然后按数字1 - 5。 我的问题是,我似乎无法使表格单元格可点击。我希望用户能够单击他们想要更改的单元格,并输入1到5之间的数字。

我见过人们使用[a]和[span]的例子。但我并不认为每个表格单元都必须是一个链接。我只希望每个表格单元格在单击时生成一个事件,然后事件处理程序(C#事件处理程序)读入输入值,检查它是否有效等,然后将表格单元格的值更改为新的输入值。

我也试过看[div]。而不是有一个5 x 5的桌子,我可能只喜欢.... 25 div标签。但是我没能让他们点击它们!

谢谢!

Alex

3 个答案:

答案 0 :(得分:3)

如果您使用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 :(得分:1)

建议:为什么不使用extended GridView?默认情况下它有一个CellClicked事件,以及处理引发事件数据的所有好功能。

答案 2 :(得分:1)

我的建议是使用JQuery。它将处理点击事件以及按键事件。缺点是它不会自动与C#后端交互。您可以使用ajax或手动调用ASP.NET提供的Postback方法来执行此操作。

设置JQuery点击事件的示例:

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

按键事件与设置非常相似。查看JQuery documentation了解更多详情。