Because I didn't want any words chopped in half. It looks for the last space in the first 100 characters of short description and returns everything before that last space.
A different way of fixing this issue. I needed a little extra control as to where the teaser pages cut off the short description, instead of a set amount every time. But I didn't want to add a new field to the manager section, so instead used overloaded views which are much easier. So I just add a "[/text]" marker (you can use whatever you want, just update the code accordingly) to the content itself in the admin area, then in the following files.
This will keep the tag from showing at the product level. Then for the next file:
_ProductBox.cshtml
Replace the single line where the short description is shown to the following: @{ var ShortDescription = Model.ShortDescription; if (ShortDescription.IndexOf("[/text]") > 0) { ShortDescription = ShortDescription.Substring(0, ShortDescription.LastIndexOf("[/text]")); } } @Html.Raw(ShortDescription)
Then on your teaser pages (newproducts, search, categories, etc) if you use the "[/text]" in your short description, it will stop showing the content at that point, allowing you to control where it breaks, but the full short description will still show at the product level.