在 View-MVC 中显示文本的有效方法是什么
我只是想根据文化在我的观点中显示一些文本。 我首先使用标签控件来执行此操作
在视图中
<%= Html.LabelFor(m => m.FormDescription)%>
在模型中
[DisplayName("Description")]
[LocalizationDisplayName("CreateForm_FormDescription",typeof(App_GlobalResources.Label))]
public string FormDescription { get; set; }
这工作正常。现在我找到了另一种在我的视图中显示文本的方法
在视图中
<%: VoxMVC.App_GlobalResources.Label.CreateForm_FormDescription%>
这两种方法都可以完美地在视图中显示我的文本。哪种方法更有效?
I just want to display some text in my views based on culture.
I used label control to do that first
In view
<%= Html.LabelFor(m => m.FormDescription)%>
In model
[DisplayName("Description")]
[LocalizationDisplayName("CreateForm_FormDescription",typeof(App_GlobalResources.Label))]
public string FormDescription { get; set; }
This works fine. Now i found another way to display a text in my view
In View
<%: VoxMVC.App_GlobalResources.Label.CreateForm_FormDescription%>
Both methods shows my text in view perfectly.Which method is more efficient ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第二个选项更有效,因为它是直接调用常量值。
第一个选项依赖于反射。但是,您的
ModelMetadataProvider
在获取所有模型属性时已经产生了反射成本,因此差异很小。然而,一般来说,从常量中赋值比从属性中获取值要高效得多。
The second option is more efficient because it is a direct call to the constant value.
The first option relies on reflection. However, your
ModelMetadataProvider
is already incurring the reflection cost when it gets all the model attributes, so the difference is marginal.In general, however, assigning a value from a constant is much more efficient than getting a value from an attribute.