2012-03-21 137 views
3

如何将每一行对齐到右侧?这是行不通的:ASP.NET标签文本对齐

Label1.Text = String.Format("{0, 15}", "aaaaaaaa").Replace(" ", " ") 
       + "<br />" 
       + String.Format("{0, 15}", "bbb").Replace(" ", "&nbsp;"); 
+6

哦,亲爱的,这看起来像所有黑客的破解。帮你一个忙,学习HTML标准和CSS。我会为''添加'CssClass'属性,并使用CSS进行样式设置。 – 2012-03-21 14:14:17

+0

噢,我的上帝......我不想开始一场革命:D,我知道如何用div和更多的标签来做到这一点...但这不是我的问题。现在我看到-2票和3(差)答案xD – 2012-03-21 14:17:54

+0

@ e-MEE答案不好?他们都实现了你的目标。 – SimpleVar 2012-03-21 14:19:21

回答

9

当您在.aspx页面中添加标签时,使用CSS类或style =“text-align:right;”声明它。

<asp:Label id="Label1" runat="server" width="100px" style="text-align: right;" /> 

如果您想在运行时更改对齐方式,最好的方法是更改​​标签的CssClass属性。

Label1.CssClass = "right_align"; 

在你的CSS:

.right_align { text-align: right; } 
+0

是的...我试过,但没有'width =“100px”'。现在没关系,谢谢:) – 2012-03-21 14:32:03

3

我不明白你为什么要尝试从背后的代码做你的对齐。将标签放置在具有特定对齐集的页面上的控件中。如果您在后面的代码中创建标签,然后创建一个具有特定对齐方式的控件,该对齐方式可以通过编程方式将标签插入到其中。

1

单击标签,进入属性,看有没有一个align属性,设置为RIGHT1

1

在C#中,伪码asp.Net:

var label = new Label(); 
label.TextAlign = ContentAlignment.MiddleRight; // Aligns to right 
label.RightToLeft = RightToLeft.Yes; // Changed direction to rtl (might reverse the meaning of TextAlignment 

或者,如果你想使用字符串填充:

string pad, aaaa = "aaaa"; 
pad = aaaa.PadLeft(6); // " aaaa" 
pad = aaaa.PadLeft(6, '-'); // "--aaaa" 
pad = aaaa.PadRight(10); // "aaaa  " 
pad = aaaa.PadLeft(6).PadRight(8); // " aaaa " 
pad = aaaa.PadLeft(6).PadRight(8, '.'); // " aaaa.." 
+0

[我没有找到任何TextAlign或RighToLeft属性](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.label_properties.aspx) – 2012-03-21 14:25:25

+0

Tym Pollack的语法为asp .Net在他的回答中。 – SimpleVar 2012-03-21 14:46:58

1

或者你可以这样来做。

<asp:TableCell HorizontalAlign="Right"> 
    <asp:Label ID="lblGrossPay" runat="server" Text="2, 375"></asp:Label> 
</asp:TableCell> 
0

使从代码的一个标签/文本框的背后,你可以使用这样的:

Label1.Text = "<center>Your Text to print here..</center>";