Если у меня есть помощник HTML, например:
Name:<br />
<%=Html.TextBox("txtName",20) %><br />
Как мне применить к нему класс CSS? Надо ли оборачивать его в промежуток? Или мне нужно как-то использовать свойство HtmlAttributes помощника?






Вы можете передать его в вызов TextBox в качестве параметра.
Name:<br/>
<%= Html.TextBox("txtName", "20", new { @class = "hello" }) %>
Эта строка создаст текстовое поле со значением 20 и присвоит атрибуту класса значение hello. Я помещаю символ @ перед классом, потому что класс - это зарезервированное ключевое слово. Если вы хотите добавить другие атрибуты, просто разделите пары ключ / значение запятыми.
Используйте параметр htmlAttributes с анонимным типом, например:
<%=Html.TextBox("txtName","20", new { @class = "test"}) %>
Я провел небольшое исследование и наткнулся на эту статью, в которой, кажется, есть решение вашего вопроса.
Набор инструментов управления Ajax с ASP.NET MVC#
источник: jimzimmerman
СТАТЬЯ ССЫЛКА
http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=330
ЦИТИРОВАТЬ
So basically if you put the class name TextboxWatermark on any textbox input with the title you like to show as the watermark like this:
<input type = "text" class"TextboxWatermark" name = "username" id = "username" title = "Must be at least 6 chars" />or
<%= Html.TextBox("username", new { @class = "TextboxWatermark", @title = "Must be at least 6 chars" }) %>What is nice about the second option is that you get the added benefit of getting the View Engine to fill out the value of the textbox if there is an item in ViewData of the ViewData.Model that has a var named 'username'.
Это намного больше работы?
Вот как добавить класс и стиль к одному и тому же элементу ...
"x" - это модель, переданная в представление со свойством TextBoxID.
@Html.TextBoxFor(x => x.TextBoxID, new { @class = "SearchBarSelect", style = "width: 20px; background-color: green;" })
Нет необходимости использовать span, потому что он не динамический.
CSS:
.testClass {
color: #1600d3;
}
Просмотр (индекс):
@Html.TextBox("expression", "Text to show.", new { @class = "testClass" })
если вам нужны динамические параметры, вы можете использовать, например:
CSS:
.test class{
background: #ffffff;
}
Контроллер (индекс для теста):
[HttpGet]
public ActionResult Index()
{
ViewBag.vbColor = "#000000";
return View();
}
Просмотр (индекс):
<div>
<span>
@Html.TextBox("expression", "Text to show.", new
{ @class = "testClass", @style = "color: " +
@ViewBag.vbColor })
</span>
</div>
Надеюсь, это поможет.
вспомогательная реализация
public static class LabelExtensioncs
{
public static MvcHtmlString Alarm(this HtmlHelper helper, string target, string text)
{
return MvcHtmlString.Create(string.Format("<p class='alert' style='background-color: #b8f89d;border-radius: 5px;width: 100%;'><b>{0}</b><br /><i>{1}</i></p>", target, text));
}
}
использование в разделе просмотра
@Html.Alarm("Title", "please unsure your card no is invisible in your authorized information")
Для разработчика нет, но для ГЛАЗА Дизайнера.