是否有可能使用ASP.NET代码返回字符串的方法在aspx文件中调用,并且在重新加载页面之前运行该代码?使用C#动态地将ASP.NET代码写入.aspx文件
所以非常有类似如下:
<asp:DataList //blahblah>
<ItemTemplate>
<%= GenerateTable() %>
</ItemTemplate>
</asp:DataList>
GenerateTable()创建与ASP的表:在他们的标签对象,它们的值由ASP的DataSource确定:DataList控件。
现在,我已经正确生成了ASP.NET代码。问题是它在页面加载之前没有被转换成HTML,所以你看不到它。
更新: 为什么我要生成的ASP.NET代码单独的方法,因为我想使显示的列配置,因此相同的列并不总是由网站显示的原因。
更新解决方案尝试: 我试图创建下面的用户控件插入我的ASP.NET代码,但它仍然运行到同样的问题。我做错了吗?使用的System.Web.UI ;:
用户控制:
<%@ Control Language="C#" CodeBehind="TableGenerator.ascx.cs" Inherits="DagReport_WebRole.DynamicData.FieldTemplates.TableGenerator" %>
<div class="tableRow">
<%= this.GetASPCode() %>
</div>
用户控制C#
namespace DagReport_WebRole.DynamicData.FieldTemplates
{
public partial class TableGenerator : System.Web.DynamicData.FieldTemplateUserControl
{
public string Code { get; set; }
public string GetASPCode()
{
return Code;
}
}
}
在我的ASPX文件:
<ItemTemplate>
<div class="dagRow"></div>
<userControl:TableGenerator
Code="<%=GetRowASPCode()%>"></userControl:TableGenerator>
</ItemTemplate>
如何使用抽象类和装饰(模式)动态注入不同的对象?这可以使用依赖注入来完成。 – PmanAce
@PmanAce我不知道我明白。你能举一个例子吗? –