c# – Razor标签点周期

c# – Razor标签点周期,第1张

概述我正在使用mvc5与剃刀结合并根据语言动态填充网站文本.例: @Html.Label(@DDHelper.GetContent("user_name"), htmlAttributes: new { @class = "control-label col-md-3" }) @ DDHelper.GetContent(“user_name”)返回一个字符串,该字符串设置为标签文本.当@ DDHelp 我正在使用mvc5与剃刀结合并根据语言动态填充网站文本.例:
@HTML.Label(@DDHelper.GetContent("user_name"),HTMLAttributes: new { @class = "control-label col-md-3" })

@ DDHelper.GetContent(“user_name”)返回一个字符串,该字符串设置为标签文本.当@ DDHelper.GetContent(“user_name”)返回“Hello”时.标签未创建且HTML源为空.

我知道这是因为@ HTML.Label()不允许’.’这是我的问题的根源,我应该使用@HTML.LabelFor(),但是当我只想显示一个字符串时,如何使用@ HTML.LabelFor()?

解决方法 检查@ HTML.Label的重载,您正在使用的是:
public static MvcHTMLString Label(this HTMLHelper HTML,string Expression,object HTMLAttributes)

你想要的是

public static MvcHTMLString Label(this HTMLHelper HTML,string labelText,object HTMLAttributes)

对HTML标签的含义存在一种常见的误解.在winforms上,标签是放置一些文本的地方 – 在HTML中不是这种情况.在HTML a< label>是允许用户单击您的文本并使焦点/光标指向相应的输入.

标签的完整语法是:

<label for="controlname">caption</label>

上面重载中的’Expression’部分是HTML中的“for”部分 – 它必须指向控件名称.

如果您正在尝试这样做(将标签与控件配对),请尝试:

@HTML.Label("user_name",@DDHelper.GetContent("user_name"),HTMLAttributes: new { @class = "control-label col-md-3" })

您的输入名为“user_name”的位置.这是@ HTML.LabelFor的用武之地,如:

@HTML.Labelfor(model=>model.Username,HTMLAttributes: new { @class = "control-label col-md-3" })

所以你不要硬编码字段名称,他们重构.

如果您“只想显示字符串”,那么您可能不需要< label>.如果你只需要一些简单的文本,你不需要@HTML任何东西,只需输出翻译:

<div class='control-label col-md-3'>    @DDHelper.GetContent("user_name")</div>

但是当你使用’control-label’时,我怀疑你确实想要< label>.

总结

以上是内存溢出为你收集整理的c# – Razor标签点周期全部内容,希望文章能够帮你解决c# – Razor标签点周期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1249900.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存