When doing this in a grid row, I did this: @item.Body.Remove(300) and add the ellipses after this. Be aware that your starting index must be greater than the value in the field. I'm using this for something where the "Body" field will be between 1000-4000 chars, so I know that 300 will always work. See below:
@foreach (var item in Model) {
<tr>
<td>@Html.ActionLink(item.Headline, "Edit", new { id=item.AdvisoryId })</td>
<td>@Html.Raw(item.Body.Remove(300))...</td>
<td>@item.AdvisoryStartDate.ToShortDateString()</td>
<td>@item.AdvisoryType.AdvisoryType</td>
<td>@item.AdvisoryProvider.AdvisoryProvider</td>
<td>@item.AdvisoryCategory.AdvisoryCategory</td>
<td>@Html.ActionLink("View", "Details", new { id=item.AdvisoryId })</td>
</tr>
}
MODEL - helps make sure there's no bug
[MinLength(300, ErrorMessage = "Body must be longer than 300 characters.")]
[MaxLength(4000, ErrorMessage = "Body cannot be longer than 4000 characters.")]
public string Body { get; set; }