24

如果我有这样的 HTML 助手:

Name:<br />
<%=Html.TextBox("txtName",20) %><br />

如何应用 CSS 类?我必须将它包装在一个跨度中吗?还是我需要以某种方式利用助手的 HtmlAttributes 属性?

4

7 回答 7

38

您可以将它作为参数传递给 TextBox 调用。

Name:<br/>    
<%= Html.TextBox("txtName", "20", new { @class = "hello" }) %>

此行将创建一个值为 20 的文本框,并为类属性分配值 hello。我把@字符放在class前面,因为class是保留关键字。如果要添加其他属性,只需用逗号分隔键/值对。

于 2008-09-02T22:37:58.427 回答
11

这是如何在同一元素上添加类和样式...

“x”是传递给具有 TextBoxID 属性的视图的模型

@Html.TextBoxFor(x => x.TextBoxID, new { @class = "SearchBarSelect", style = "width: 20px; background-color: green;" })
于 2012-12-01T12:46:21.533 回答
4

我做了一些研究,发现这篇文章似乎可以解决您的问题。

带有 ASP.NET MVC 的 Ajax 控件工具包#

资料来源:吉姆齐默尔曼

文章链接

http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=330

引用

因此,基本上,如果您将类名 TextboxWatermark 放在任何文本框输入上,并且您希望显示为水印的标题,如下所示:

<input type="text" class"TextboxWatermark" name="username" id="username" title="Must be at least 6 chars" />

或者

<%= Html.TextBox("username", new { @class = "TextboxWatermark", @title = "Must be at least 6 chars" }) %>

第二个选项的好处是,如果 ViewData.Model 的 ViewData 中有一个名为“username”的变量,您可以获得让 View Engine 填写文本框的值的额外好处。

于 2008-09-02T23:02:35.497 回答
2

htmlAttributes参数与匿名类型一起使用,例如 tihs:

<%=Html.TextBox("txtName","20", new { @class = "test"}) %>
于 2008-09-02T22:38:10.673 回答
0

助手实现

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")

结果 在此处输入图像描述

于 2018-10-11T20:25:35.430 回答
-1

不需要使用 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>

希望能帮助到你。

于 2018-10-08T15:14:00.453 回答
-2

工作量还多吗?

于 2009-01-18T23:12:16.767 回答