Вот как я это сделал.
Говоря о атрибуте HTML 5 <button>
Создайте PartialView - назовите его как _HTML5Button.vbhtml
@ModelType YourProjectName.ButtonViewModel
<button onclick="location.href = '@Model.URL'" class="btn btn-info">@Model.ButtonText</button>
И создайте ButtonViewModel
Public Class ButtonViewModel
Public URL As String
Public ButtonText As String = "Modify Button Text"
'You can add more parameters or do as you please
End Class
Тогда, когда вам нужно его создать, назовите вас частичным, как это
@Html.Partial("~/Views/Shared/MiniPartialViews/_HTML5Button.vbhtml", New ButtonViewModel With {.URL = "http://www.goanywhere.com", .ButtonText = "Name That Will Appear On The Button"})
Таким образом, если вы хотите добавить больше параметров позже - все это в одном частичном представлении централизовано для вас - скажем, вы хотитедобавить идентификатор позже
Ну, вы идете к частичному, добавьте id = "@ Model.Id", так что тогда в вашем вызове PartialView вы просто добавляете этот параметр - он ничего не нарушает - если вы когда-либонужно добавить класс к этой кнопке - добавить его - в одном месте, а не искать все вызовы.
Надеюсь, это поможет - у меня это работает очень хорошо!