Нет большой разницы, о которой я знаю (хотя мне будут интересны ответы других людей, чтобы исправить меня, если я ошибаюсь в этом).Это просто вопрос стиля кодирования и предпочтений.
Лично я предпочитаю последнее.Я чувствую, что он чище и отделяет разметку от функциональности, которая управляет разметкой.Но это только я.
(Я также предпочитаю не использовать привязку данных там, где я не чувствую необходимости. Но, опять же, это предпочтение того, как вы хотите использовать предоставленные инструменты.Например, в представлении ASP.NET MVC я с большей вероятностью напишу цикл и выведу HTML в этом цикле, чем я использую любой вид репитера или элемент управления сеткой и привязываю к нему данные. Просто личные предпочтения.)
Многое также зависит от того, где в вашем приложении вы хотите выполнить эти действия.В первом примере он хранится на странице, тогда как последний пример может быть обернут в условные выражения, повторно преобразован в другой метод и т. Д. Если возможно, что рассматриваемое значение не всегда изCustomer.ShortName
тогда я бы пошел с последним примером, чтобы добавить эту дополнительную логику вокруг него.