【发布时间】:2012-11-22 14:27:07
【问题描述】:
我正在创建一个带有如下标记的自定义控件:
<Custom:CustomGrid>
<Columns>
<Custom:DataColumn HeaderText="FirstName" />
<Custom:DataColumn HeaderText="LastName" />
</Columns>
</Custom:CustomGrid>
为了分别渲染外部的 Div/Table 和 Column 标签,我将覆盖 Render 和 RenderChildren。
我希望每个 TH 都包含一个 LinkButton,并使用 HeaderText 进行排序。我创建了一个foreach 循环来运行列集合,并为每个列创建一个 TH,其中包含一个 LinkButton。我使用 linkBtn.RenderControl(writer); 渲染出 LinkButton
我在 html 中得到的只是一个空的锚标记。 我猜这是因为当它以这种方式呈现时,asp.net 不知道呈现服务器控件的 JS 端。 但我不知道我能做些什么不同的事情。 有什么想法吗?
编辑: 我可以看到 href="javascript:_doPostBack('myGrid$Sort_firstName','')" 被建造。我不知道为什么字符被html转义,但我猜它只是html源查看器(或者可能不是......)无论如何,事件处理程序仍然没有被触发。
【问题讨论】:
-
你能发布你用来尝试这个的实际代码吗?