如何从Web窗体用户控件中的标记访问代码隐藏中定义的属性

时间:2015-11-11 10:07:00

标签: asp.net

我有一个用户控件(PlacementUI.ascx),在其代码隐藏中定义了一个属性。

//PlacementUI.ascx.cs
public partial class PlacementUI : System.Web.UI.UserControl
{
   public PlacementDTO DataItem { get; set; }
}

如何在标记中访问该属性? 试过这个,但它说当前上下文中不存在DataItem

<div class= '<%# DataItem.CssClass %>'>

1 个答案:

答案 0 :(得分:1)

这是丑陋的内联方法:

<div class= '<%# ((PlacementDTO)DataBinder.Eval(Container.DataItem, "DataItem")).CssClass%>'>

其他方法,你需要制作div runat=server并给它一个ID

<div runat="server" id="MyDivId">
代码隐藏中的

(它是HtmlGenericControl):

MyDivId.Attributes["class"] = DataItem.CssClass; 

您还可以使用呈现为div的{​​{3}}。

<asp:Panel id="MyPanel" runat="server" />

代码隐藏:

MyPanel.CssClass = DataItem.CssClass;