-6

SuperScriptの番号に追加したいC#

例:

1st, 2nd ......

これは私が動的にやりたいASP.NET/C#

最善の解決策を提案してください。

4

3 に答える 3

5

あなたが正確に何を望んでいるのかよくわかりません。

ただし、このようなことはできます。

ASP.NET ラベルがあるとします。

<asp:Label ID="sample" runat="server" Text=""></asp:Label> 

次に、コードビハインドで次のようなことができます

sample.Text=string.Format("1<sup>st</sup>");

これは1stとして出力されます

于 2012-08-18T10:33:06.240 に答える
2

<sup>タグを使用することは、これらの値をマークアップする正しい方法です。

これは、asp.net c#で動的に実行したい

ロケールについてある程度の知識がある場合は、<sup>テキストにタグを自動的に追加できます。

マッチング

// this should go in a helper class

// Obviously this depends on locale. The regex can be altered to accept numbers
// with as many digits as desired. I think "th" is always an appropriate suffix
// in English (not sure).
private static readonly Regex _regex = new Regex( @"^(\d{1,8})(st|nd|rd|th)$", RegexOptions.Compiled );

public static string AddSuper( string value ) {
    return _regex.Replace( value, "$1<sup>$2</sup>" );
}

使用法

// in code-behind
this.litMyText.Text = AddSuper( "1st" );

// a few test cases (also demonstrates processing multiple items)

// should match
var testValues = new[] { "1st", "2nd", "10th", "20th", "1000th", "3rd", "19th" };

foreach( string val in testValues ) {
    Response.Write( AddSuper( val ) );
}

// should not match
testValues = new[] { "test", "nd", "fourth", "25", "hello world th", "15,things", "1 1 1thousand" };

foreach( string val in testValues ) {
    Response.Write( AddSuper( val ) );
}

一致した値の出力

1<sup>st</sup>
2<sup>nd</sup>
10<sup>th</sup>
20<sup>th</sup>
1000<sup>th</sup>
3<sup>rd</sup>
19<sup>th</sup>
于 2012-08-18T10:40:06.643 に答える
0

<sup>次のタグを使用できます。

1<sup>st</sup> 2<sup>nd</sup>, ...

次のようにレンダリングされます: 1 st 2 nd , ...

于 2012-08-18T10:23:01.433 に答える