是否有可能使用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我不知道我明白。你能舉一個例子嗎? –