我如何为使用Razor助手创建的元素添加属性?

15 浏览
0 Comments

我如何为使用Razor助手创建的元素添加属性?

我正在尝试使用Razor助手添加类似classstyle等属性。我应该如何实现这个功能?\n例如:@Html.LabelFor(model => model.First)

0
0 Comments

使用Razor助手创建的元素如何添加属性?

在使用Razor助手创建元素时,有时候我们需要为它们添加属性。但是,有些人在尝试使用以下代码时遇到了错误:

.LabelFor(model => model.First, new Dictionary() { { "class", "class-name" }, { "style", "display:none" } });

这是什么原因呢?我们一起来看看。

错误发生的原因是因为在Razor助手中,我们不能直接通过这种方式为元素添加属性。我们需要使用其他方法来实现这个目标。

解决方法如下:

我们可以使用`HtmlAttributes`参数来为元素添加属性。`HtmlAttributes`是一个`Dictionary`类型的参数,我们可以在其中键值对的形式下添加属性和属性值。下面是修改后的代码示例:

.LabelFor(model => model.First, new { @class = "class-name", style = "display:none" });

在这个示例中,我们使用了一个匿名对象来替代之前的`Dictionary`。我们使用属性的名称作为键,并将属性值分配给相应的属性。需要注意的是,如果属性名称是C#的关键字(比如`class`),我们需要在前面加上`@`符号来进行转义。

通过这种方式,我们可以成功地为使用Razor助手创建的元素添加属性。希望这篇文章能帮助到你解决问题!

0
0 Comments

问题:如何在使用razor helpers创建的元素中添加属性?

原因:在使用razor helpers创建的元素中添加属性时,需要使用关键字"new"并在其后添加HTML属性。但是,在添加属性时,需要注意以下几点:1. 需要使用"@"来转义关键字"class",因为"class"是C#的关键字;2. 无法直接添加"data-"属性。

解决方法:使用以下代码来添加属性:

.LabelFor(model => model.First, new { @class = "test", id = "Lbl1" })

如果需要添加"data-"属性,可以使用"data_"的方式,具体示例可以参考该StackOverflow链接

0