如何从我的aspx页面访问.ascx控件

时间:2013-12-09 23:30:28

标签: c# asp.net custom-controls ascx

我的ascx页面中有以下代码

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl1.ascx.cs"       Inherits="WebUserControl" %>


<li id="firstry" runat="server"> first </li>

aspx页面包含:

<uc:Spinner id="Spinner" 
    runat="server" 
    MinValue="1" 
    MaxValue="10" />

这只是将我的li打印到我的aspx页面..但我想访问ascx中的控件,以便我可以将内联或css类应用到该控件中。任何人都可以指导我吗?

1 个答案:

答案 0 :(得分:0)

在Control的代码旁边添加:

public Control FirstTryControl
{
   get { return firsttry; }
}

然后您可以从页面正常访问...

Spinner.FirstTryControl.Styles.Add(...)

这是一种蛮力方法,您可能需要考虑添加特定于您需要的属性。在代码旁边添加类似:

private _spinnerClass = string.empty;
public string SpinnerClass 
{
   get { return _spinnerClass; }
   set { _spinnerClass = value; }
}

protected void Page_Render(o,e)
{
   Spinner.Attributes.Add('class', _spinnerClass);
}

然后在页面中,您可以直接从标记中定义这些属性:

<uc:Spinner id="Spinner" 
    runat="server" 
    MinValue="1" 
    MaxValue="10"
    SpinnerClass="green" />