我有一个asp.net C#MVC Razor视图,允许用户将输入字段的单位从公制更改为英制。有大约12个标签需要同时更改为相同的文本,没有例外(“mm”=>“英寸”和签证经文)。
由于dot net框架要求每个元素都有唯一的ID字段,我试图找到另一种方法将它们组合在一起并在客户端进行更改。
为每个人提供一个唯一的ID并在if / then语句中单独调用每个人在相同时切换测量系统似乎很愚蠢。必须有更好的方法。
我尝试使用@ViewBag,但我发现javascript只能读取值而无法在客户端更改它。
@ Html.Label(“display_units”,“mm”,new {id =“lbl_units”})
感谢您的帮助和建议。
答案 0 :(得分:2)
为您的标签提供一个常见的CSS类,如“display-units”。然后从Javascript代码中,您可以使用jQuery查找该类的所有标签并更改文本:
$(".display-units").text('mm');
答案 1 :(得分:0)
KnockoutJS是为解决这类问题而编写的,即将viewmodel绑定到您的视图。