Asp.net mvc 3 如何在MVC 3中设置标签的CSS属性

Asp.net mvc 3 如何在MVC 3中设置标签的CSS属性,asp.net-mvc-3,Asp.net Mvc 3,我正在使用Html.LabelFor(…)创建一个静态文件。 我必须使用JQuery动态设置标签的Name属性。您可以设置css类,并使用LabelFor的一个重载中提供的htmlAttributes参数设置内联样式和任何其他属性(即使是像Name这样的不存在的样式) 即 model.Title, 新的{style=“xyz”、@class=“abc”、@name=“MyTitle”})%> 这将创建一个类似以下内容的标签: <label for="Title" style="xyz"

我正在使用Html.LabelFor(…)创建一个静态文件。
我必须使用JQuery动态设置标签的Name属性。

您可以设置css类,并使用LabelFor的一个重载中提供的htmlAttributes参数设置内联样式和任何其他属性(即使是像Name这样的不存在的样式)

model.Title,
新的{style=“xyz”、@class=“abc”、@name=“MyTitle”})%>
这将创建一个类似以下内容的标签:

<label for="Title" style="xyz" class="abc" name="MyTitle">Title</label>
标题

之所以使用@before类,是因为“class”在c#中是一个保留字,所以您需要使用@symbol来限定它。

如果我同时理解了您的问题和注释,您只是想更改标签的文本。MVC
LabelFor
会变成一个HTML
,它不像文本框那样具有任何属性

如果您需要使用JS/jQuery对其进行更改,那么给它一个ID并使用
html
方法

标记:

@Html.LabelFor(m => m.Something, new { id = "somethingLabel" })
@Html.TextBoxFor(m => m.Something)
jQuery:

$("#somethingLabel").html("New Label Text");

您也可以使用
text
而不是
html
——区别在于它逃避了输入。

标记没有
name
属性,因此您会发现使用jQuery进行设置是不可能的。你到底想做什么?@Aaronaught:我正在为一个金融项目创建一个复杂的模型。你会从中得到更好的想法。查找“条件”部分,尝试添加新条件。看看第一个默认参数——市值。我正在表中创建一个空行,并使用jquery设置该行中相应控件的内容。我可以设置文本框的内容,但不能设置标签。谢谢James,但第二个参数是文本。我已经试过了,但是出错了。htmlAttributes可以应用于文本框,但不能应用于label。MVC3不包含此重载,更高版本会包含此重载。此响应解释了如何添加必要的重载作为扩展方法:
$("#somethingLabel").html("New Label Text");