如何从asp.net中的代码访问html控件。我不想使用“runat = server”,因为它会导致问题。
我已经创建了一个空的html表,从我的代码后面,我想添加< td>它。
请帮忙。
谢谢, Prachi
答案 0 :(得分:1)
如果没有runat =“server”,这是不可能的。
你说这引起了问题。请说出它造成的问题。
你说你使用getElementById访问该表?服务器控件的ID根据其内部的控件而更改。您需要获取更改后的ID:
var tab = getElementById("<%= myTable.ClientId %>");
或者那种效果。
答案 1 :(得分:0)
如果要在后面的代码中访问它,则应使用runat = server属性。
但是也许你可以生成一些javascript代码,在代码隐藏时将td / tr添加到你的表中。并且您可以将其注册到您的页面以在启动时运行。
答案 2 :(得分:0)
RUNAT = “服务器”
到表和tr元素,后面的代码无法访问它们(因为这告诉框架工作将元素暴露给服务器)。
你到底想要做什么?您是否查看了DataGrid,GridView或简单Repeater控件?这些允许您定义表结构并动态地向其添加控件(通常通过数据绑定,尽管有方法可以将项添加到其ItemCollections中)。
答案 3 :(得分:0)
public String myColumns
然后在您的Page_Load事件中,将HTML创建为字符串并将其保存在myColumns变量中:
protected void Page_Load() {
//do stuff
myColumns = someStringWithTDTagsInIt
}
然后在.aspx页面中,执行以下操作:
<table id=maintable"><tr><%=myColumns %></tr></table>
它应该在您的Page_Load事件中呈现您想要的HTML(或者您想要的任何事件,如果您希望它在点击按钮上加载等),而不使用“runat = server”标记。
请注意,这不是推荐实现此目的的方式(控件通常更有效),但这应该是您提出的问题的有效解决方案。
答案 4 :(得分:0)
简单的例子。
只需将runat =“server”放置即可访问。
html控件无法在服务器端访问。如果您放置runat服务器,那么它将在服务器中访问。