Динамическая кнопка .net MVC - PullRequest
       5

Динамическая кнопка .net MVC

0 голосов
/ 21 декабря 2010

Я хочу создать кнопку отслеживания стиля в представлении в MVC, но не уверен, должен ли я использовать HTMLHelper для этого или нет. Очевидно, что кнопке нужно будет отображать другой текст в зависимости от того, следует ли пользователь за элементом или нет, и при нажатии вызывать другой сценарий, если пользователь решит подписаться или отписаться.

Должен ли помощник создать кнопку целиком или только содержимое кнопки?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2010

MVC-пуристы утверждают, что решение о том, может ли пользователь следить за элементом, должно приниматься в контроллере и передаваться в модели. Это логическое значение будет затем передано в HTMLHelper.

public static string FollowButton(this HtmlHelper source, bool isFollowing) {
  if (isFollowing) {
    return "<button>Unfollow</button>  //unfollow button
  }
  else {
    return "<button>Follow</button>  //follow button
  }
}

Тогда на ваш взгляд

<%= Html.FollowButton(Model.IsUserFollowing) %>

И, следуя стандартам, ваш JavaScript должен создаваться отдельно. Вы можете использовать class="follow" на своей кнопке Follow в качестве средства для JavaScript, чтобы определить, какой сценарий следует использовать.

0 голосов
/ 21 декабря 2010

Если помощник всегда будет использоваться для текста кнопки и нигде больше, тогда я просто поместил бы всю кнопку внутри помощника, чтобы упростить ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...