如何在没有“runat = server”的情况下访问C#代码中的HTML控件?

时间:2012-06-05 10:36:29

标签: c# javascript controls dotnetnuke runatserver

据我所知,您可以使用FindControl从C#中的代码访问服务器端HTML控件(具有“runat = server”)。但我的HTML表是一个动态表,所以我不能在服务器端使用它。如何在没有“runat = server”的情况下获取此HTML表的Rows.Count?非常感谢。 更新:环顾四周后,在将值分配给隐藏字段后,我遇到了一些涉及回发的解决方案。关键是,隐藏字段必须是物理和单独的html形式,而我正在开发一个继承模块形式的ascx文件的DotNetNuke模块控件。如果我添加另一个表单,它会说我不能拥有runat = server的2个表单。仍在寻找解决方案。

3 个答案:

答案 0 :(得分:1)

如果它是服务器端,即可以从代码后面访问HTML控件,即它是否具有runat="server"属性。

如果您的表格中填充了某些javascript代码,则可以在回发之前将行号保存在表单字段中。

答案 1 :(得分:1)

如果您可以访问像jQuery这样的javascript框架,那么您可以获取表行的数量并将其添加到隐藏元素中,该元素是您正在POST的表单的一部分,如下所示:

var numberOfRows = $('#yourTableID tr').length;
$('#myHiddenValue').val(numberOfRows);

答案 2 :(得分:0)

如果您不想使用Javascript,这就是您可以在代码中使用的内容。

string strValue = Page.Request.Form["name of the textarea HTML control"].ToString();