【发布时间】:2015-12-03 08:44:55
【问题描述】:
在 ASP.NET 4.0 中,是否可以有一个返回服务器控件的函数,并能够从内联代码调用该函数,将服务器端控件放置在呈现的 HTML 中?
注意:以下是 VB.NET,但很容易是 C# 等
例如,假设我有一个函数...
Public Function GetImageButton(ByVal id As String) As ImageButton
Dim btn As New ImageButton
btn.ID = id
AddHandler btn.Click, AddressOf btn_Click
Return btn
End Function
我希望在标记中包含如下内容...
<div><%=GetImageButton("btn1")%></div>
这会将服务器控件定位在 HTML 中的特定位置,但仍作为标准 ASP.NET 控件,具有事件处理等功能。
但是,上面显然会导致以下内容被呈现为文本...
<div>System.Web.UI.WebControls.ImageButton</div>
我的假设是这是不可能的,并且有必要拥有类似 <asp:PlaceHolder> 控件的东西,它通过代码隐藏来填充。
更新
我有一个临时解决方案来解决我作为答案提供的问题。
我仍然很想听听任何其他建议/解决方案
【问题讨论】: