如何从我的aspx页面访问.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类应用到该控件中。。有人能指引我吗?

在控件的代码旁边添加:

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" />

最新更新