在其控件之外定义文字文本

时间:2013-06-24 10:45:22

标签: c# asp.net literals ascx string-literals

我在控件(finance-box.ascx)中创建了一个文字

<tr><td class="title">Deposit</td></tr>
<tr><td class="fig"><asp:Literal id="one_deposit" runat="server"/></td></tr>

我已将此Control称为页面(finance.aspx)

我可以在finance.cs.aspx页面中定义文字值,因为此控件将在多个页面上调用吗?

Finance.cs.aspx中的可能代码

protected void Page_Load(object sender, EventArgs e)
    {
        Finance_Box.one_modal_monthly.Text = "&pound;3234.00";
        Finance_Box.one_deposit.Text = "&pound;3234.00";
    }

2 个答案:

答案 0 :(得分:1)

您可以将控件公开为属性,但更好的是,只需为您需要的类型(字符串)公开属性。所以,在控制......

public string LiteralText {
  get { return myLiteral.Text; }
  set { myLiteral.Text = value; }
}

然后在您的页面中,您可以在控制声明或代码隐藏中使用它们:

<controls:MyControl runat="server" ID="myControl" LiteralText="Some text!" />

myControl.LiteralText = "Some text!";

答案 1 :(得分:0)

您应该在用户控件上创建一个属性,如下所示

public string depositeLiteral
{
    get { return one_deposit.Text; }
    set { one_deposit.Text = value; }
}

在将用户控件添加到您的页面时,您可以设置它的值

var lobjucName = (finance-box.ascx)LoadControl("~/UserControl/finance-box.ascx.ascx");
lobjucModelPopulator.depositeLiteral= "";