2012-08-09 75 views
1

我想限制我的标签只能达到1000个字符。 如何实现这一目标? 请帮忙...asp标签的字符限制高达1000个字符

+1

何时或如何分配它? 检查之前如果分配if(text.length> 1000)然后做so'mething – Karl 2012-08-09 08:24:26

+0

如何将文本放置在标签?我们不能直接放置。要么我们必须为标签文本或其他类似的方式分配一个字符串。 就像分配文本框输入的文本一样。 ??? – 2012-08-09 08:27:36

回答

3

酪氨酸验证码:

string str = "Characters..."; 
if(str.length > 1000) 
{ 
    str = str.SubString(0, 1000); 
} 
lbl.Text = str; 
+0

您需要首先检查长度,否则可能会得到'ArgumentOutOfRangeException' - 索引和长度必须引用字符串中的位置。 – musefan 2012-08-09 08:47:55

+0

问题要求不是这样的 – 2012-08-09 08:49:10

+1

不关心这个问题。 downvote是你的不好的代码(我现在已经删除了) – musefan 2012-08-09 08:51:17

3

没有办法限制标签的长度,但由于标签没有用户输入,所以可以限制分配给它的字符串属性。

string s = "long string..."; 
if (s.length > 1000){ 
    s = s.SubString(0, 1000); 
} 
lblMyLabel.Text = s; 
+2

if()不是必需的。你可以这样做:lblMyLabel.Text =“string”.Substring(0,1000); – ydd1987 2012-08-09 08:26:22

+3

@yohannesdedope据我所知,如果第二个参数比字符串长度长,SubString会抛出一个错误? – Curt 2012-08-09 08:39:22

+1

@yohannesdedope:如果你想编写好的代码,那么'if()'是必须的。虽然 – musefan 2012-08-09 09:21:32

1

标签不是输入,但如果您知道标签超出限制,则可以将长度缩减为1000个字符。

const int limit = 1000; 
label.Text = label.Text.Length>limit ? label.Text.SubString(0,limit) : label.Text; 

假设你的标签被称为标签

+1

过于复杂,只是做子字符串。 – weston 2012-08-09 08:36:51

+0

@weston我不同意,虽然你可以进一步简化三元语句,但你仍然需要检查标签长度小于1000的长度,这样不会引发ArgumentOutOfRangeException – Scott 2012-08-09 08:54:25

+0

你是对的,对不起,有几个我们说的是一样的,我们中没有人测试过它! – weston 2012-08-10 10:15:24

2

正如已经被@Curt提到,有一个标签上没有直接的用户交互(如例如有一个文本框),所以你应该限制服务器上的字符串长度。

作为一个额外的位已经给出答案,这是我使用的代码...

public string FormatText(string text, int len, string suffix) 
{ 
    if (len != -1 && text.Length > len) 
    { 
     int pos = text.LastIndexOfAny(" ,.".ToCharArray(), len); 
     if (pos == -1) 
      pos = len; 
     text = text.Substring(0, pos) + suffix; 
    } 
    return text; 
} 

然后就可以调用类似...

lblMyLabel.Text = FormatText(myText, 1000, "...") 

这样做是什么停下来的话被切碎在中间,希望能够避免不幸的情况。例如,文本可能包含he is an assistant,正好1000个字符,它会产生he is an ass。我的代码将输出he is an...

+0

公平点@weston ...这个函数是我系统中函数库的一部分,有时候这个长度是通过配置来设置的。 ..所以只是一种能够将配置设置为-1来说“我不想有任何限制” – freefaller 2012-08-09 08:41:08

+0

我明白,评论撤回。很好的功能。 +1 – weston 2012-08-09 08:43:39