如何在TreeNode的文本属性中显示服务器端变量?

时间:2013-12-26 19:12:03

标签: asp.net treeview code-behind

.cs文件:

public partial class Default2 : System.Web.UI.Page
{
    public string s;
    protected void Page_Load(object sender, EventArgs e)
    {
        s = "Director";
    }
}

.aspx文件:

<asp:TreeView ID="TreeView1" runat="server">
      <Nodes>
           <asp:TreeNode Text="<%=s %>"></asp:TreeNode>
      </Nodes>
</asp:TreeView>

此输出&lt;%= s%&gt;而不是s的值。

1 个答案:

答案 0 :(得分:1)

您实际上无法在“ <%= ... %>显示表达式”标题下的服务器标记属性中使用这些类型的表达式,"Introduction to ASP.NET inline expressions in the .NET Framework" (MSDN)

  

请记住,显示表达式不能用于   服务器控件的属性。这是因为.NET Framework   直接编译整个表达式而不是显示   content作为属性的值。

如果您确实要设置该节点的值,在您的示例中,您必须将其设置为:

public string s;
protected void Page_Load(object sender, EventArgs e)
{
    s = "Director";
    TreeView1.Nodes[0].Text = s;
}