我在html中有一个带有这样的代码的表,
<table class="window" style="margin-top: 15px; text-align: center;">
<tr id="NavMonth">
<td id="m1" onclick="">
Jan
</td>
<td id="m2" onclick="">
Feb
</td>
<td id="m3" onclick="">
Mar
</td>
<td id="m4" onclick="">
Apr
</td>
<td id="m5" onclick="">
May
</td>
<td id="m6" onclick="">
Jun
</td>
</tr>
</table>
现在基于onClick事件,我想将月份的值存储在c#中的变量中。对于前者它id&#34; m4&#34;单击,我想在我的变量中存储值4。
任何想法都会有所帮助和赞赏。
感谢。
答案 0 :(得分:1)
click事件与c#无关,因为它发生在客户端浏览器中。您可以使用js。
对用户事件做出反应如果您想在服务器端执行某些操作(在用户单击之后),您必须创建一个ajax调用并通过回发发送单击的值。的jQuery ...
包含所点击表格单元格的服务器端脚本的目标是什么?操纵数据库中的数据? 请注明....
答案 1 :(得分:0)
您可以尝试这样的事情:
var table = document.getElementById("NavMonth").
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
currentRow.onclick = function(){
alert(currentRow.getAttribute("id"));
}
}
点击一行后,当前行的id
值将显示在警告框中。这是您获得价值的方式。你将如何使用它取决于你想做什么。将此值存储在C#
中的变量中似乎有点奇怪。我假设你可能想要别的东西。您可能希望将此值传递给服务器,然后根据此值执行其他操作,例如更新数据库中表的行的列值。我无法想象你需要它的地方。因此,我无法就如何使用它给你一个具体的答案。
<强>更新强>
如何将此值存储在c#变量中,或者我可以调用c# onClick事件中的函数?
如果你想调用函数C#,假设你进行了ajax调用。如果您使用ASP.NET Web表单而不是ASP.NET MVC,则可以避免这种情况。在这种情况下,mybirthname建议是最简单的方法。
答案 2 :(得分:0)
首先在aspx中添加asp:HiddenField。让这个hiddeField有ID =&#34;隐藏&#34;。
之后,您将使用jquery将onClick事件附加到表的td,并将隐藏字段的值设置为当前td的ID。
$(document).ready(function () {
$('.window td').on('click',function(){
var idName = this.id;
$('#hidden').val(idName);
});
});
最后在你的C#代码中:
string text = hidden.Text;//you will remove m part of the Id and you have the number.
请注意代码是动态编写的,可能您应该使用console.log或警报功能检查javascript。