0

html.encodeに表示する文字数を制限するにはどうすればよいですか?

<%= Html.Encode(item.LastName.Substring(1,30))%>

エラー:インデックスと長さは、文字列内の場所を参照する必要があります。

4

3 に答える 3

6

文字列の長さが30より大きいことを確認する必要があります。そうでない場合は、文字列の末尾から外れる長さを指定しています...(除外するつもりがなかったと仮定して、開始インデックスも0に変更しました最初の文字)

<%= Html.Encode(item.LastName.Substring(0, 
                     item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
于 2009-11-26T01:53:38.877 に答える
4

あなたも次のようなことをすることができます

<%= Html.Encode(item.LastName.Substring(0, Math.Min(item.LastName.Length, 30)) %>

いくつかのバイトを節約する

于 2009-11-26T01:58:50.550 に答える
2
<%= Html.Encode(item.LastName.Substring(0, item.LastName.Length > 30 ? 30 : item.LastName.Length))%>

nullをチェックする場合は、代わりに次のようにします。

<%= Html.Encode(
item.LastName == null ? string.Empty :
item.LastName.Substring(0, item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
于 2009-11-26T01:53:43.400 に答える