Если вы хотите использовать UserControl
, это будет довольно легко. Вот основной план.
Предположим, вы создали файл управления пользователя FormattedTitle.ascx
и код за файлом FormattedTitle.ascx.cs
в вашей корневой папке.
Разметка будет выглядеть следующим образом:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="FormattedTitle.ascx.cs"
Inherits="FormattedTitle" %>
<asp:Label ID="lblTitle" runat="server" />
Код позади для пользовательского элемента управления будет выглядеть следующим образом:
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Web;
using System.Web.UI;
public partial class FormattedTitle : System.Web.UI.UserControl
{
public string Title
{
get
{
return this.lblTitle.Text;
}
set
{
this.lblTitle.Text = value;
}
}
public string TitleFormat
{
get
{
if(ViewState["TitleFormat"] != null)
return ViewState["TitleFormat"].ToString();
return string.Empty;
}
set
{
ViewState["TitleFormat"] = value;
}
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if(!string.IsNullOrEmpty(this.TitleFormat))
{
this.lblTitle.Text = string.Format(this.lblTitle.Text, this.TitleFormat);
}
}
}
Я вижу управления пользователем использования разметки следующим образом:
<%@ Register TagPrefix="uc" TagName="FormattedTitle" Src="FormattedTitle.ascx" %>
<uc:FormattedTitle ID="ftMyTitle" runat="server" Title="Title to Format" TitleFormat="SomeValidDotNetFormatString" />
Не проверено, но вам нужно начать. С помощью вышеуказанного пользовательского элемента управления вы можете установить заголовок и его форматирование как свойства пользовательского элемента управления.
Для получения полной информации о форматировании строки в формате.сеть, рассмотреть вопрос об использовании этих ресурсов:
EDIT:
Чтобы ответить на ваш вопрос: Re: несколько тегов - Вы имеете в виду несколько экземпляров элемента управления на странице? Это на самом деле природа и назначение пользовательских элементов управления - вы можете добавить их так часто, как это необходимо, например, как:
<%@ Register TagPrefix="uc" TagName="FormattedTitle" Src="FormattedTitle.ascx" %>
<uc:FormattedTitle ID="ftMyTitle" runat="server" Title="Title to Format" TitleFormat="SomeValidDotNetFormatString" />
<uc:FormattedTitle ID="ftMyTitle2" runat="server" Title="Some Other Title to Format" TitleFormat="SomeOtherValidDotNetFormatString" />
Это то, что вы имеете в виду несколько тегов?
Какое форматирование вы хотите сделать с текстом? Не можете ли вы просто создать метод и поместить туда текст: <% = Formatter.Format ('text')%> – Pbirkoff