html.encodeに表示する文字数を制限するにはどうすればよいですか?
<%= Html.Encode(item.LastName.Substring(1,30))%>
エラー:インデックスと長さは、文字列内の場所を参照する必要があります。
文字列の長さが30より大きいことを確認する必要があります。そうでない場合は、文字列の末尾から外れる長さを指定しています...(除外するつもりがなかったと仮定して、開始インデックスも0に変更しました最初の文字)
<%= Html.Encode(item.LastName.Substring(0,
item.LastName.Length > 30 ? 30 : item.LastName.Length))%>
あなたも次のようなことをすることができます
<%= Html.Encode(item.LastName.Substring(0, Math.Min(item.LastName.Length, 30)) %>
いくつかのバイトを節約する
<%= 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))%>