我有這樣的代碼在我的ASP頁面:認沽C#變量作爲ASP .NET自定義控制參數
<%@ Register TagPrefix="genies" Namespace="TheNamespace" Assembly="TheAssembly"%>
...
<% string name = GetTag().Name; %>
<div class="<%= name %>"></div>
<genies:BarGenie ID="BarGenie1" runat="server" Title="<%= name %>" />
的BarGenie類具有下面的代碼:
public class BarGenie : Control {
public string Title { get; set; }
protected override void Render(HtmlTextWriter writer) {
writer.Write("<div>" + Title + "</div>");
}
}
這是HTML是產生:
<div class="E00383"></div>
<div><%= name %></div>
我想看到這個HTML:
<div class="E00383"></div>
<div>E00383</div>
我已經試過各種事情在ASPX代碼:@name,<%#名稱%>等,但我無法弄清楚是怎麼回事。是否有其他方式插入我應該使用的自定義控件?我有錯誤的方法來使用這個自定義控件嗎?
OK,添加this.DataBind()作爲Render方法的第一行。我得到一個編譯器錯誤:名稱'name'在當前上下文中不存在。它看起來像是在抱怨'Title =「<%# name %>」'參數... – wpearse