c# - 本地化与文字之间的区别

标签 c# asp.net

我只是在阅读Literal 控件和Localize 之间的区别

我知道这个问题已经被问过here但那里提出的回应对我来说不起作用。

根据 MSDN:

The Localize control inherits from the Literal control and is identical to it in every way. The Localize control is used at design time to distinguish static text that can be localized from other static text.

我目前对 LocalizeLiteral 控件的理解是,前者在 Visual Studio 的设计时呈现默认值,而后者将呈现 计算值,例如资源文件的内容

我创建了一个小页面来证明这一点,但我找不到任何区别,这就是我尝试的原因:

    <div><asp:Localize ID="Localize1" Text="<%$Resources: Resource, String1 %>" runat="server" >String1</asp:Localize></div>
    <div><asp:Literal ID="Literal1" Text="<%$Resources: Resource, String1 %>" runat="server" >String1</asp:Literal></div>
    <div><asp:Label ID="Label1" Text="<%$Resources: Resource, String1 %>" runat="server" >String1</asp:Label></div>

以上代码呈现如下:

    <div>ploop</div>
    <div>ploop</div>
    <div><span id="Label1">ploop</span></div>

到目前为止一切顺利,但我希望在设计时发现 Visual Studio 中的差异,但我没有,这是 Visual Studio 输出

enter image description here

作为附加说明,我知道在处理资源时我可以使用隐式资源(在处理本地资源时),以便在设计时使用默认值。示例:

    <asp:Label ID="Label1" runat="server" meta:resourcekey="Label1Resource1" 
        Text="Label"></asp:Label>

使用上面的代码,我得到了设计时在 Visual Studio 中按预期呈现的文本 Label

那么 LiteralLocalize 控件之间有什么区别?我错过了什么?

注意:我使用网站和 Web 应用程序进行了测试

最佳答案

@Jupaol,不确定你是否清楚 <asp:Localize> 到底是什么control 会,但它会将文本转换为本地语言。看看When should I use a Localize control instead of a Literal?希望这会更有意义。

关于c# - 本地化与文字之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11894198/

相关文章:

c# - 如何 - 从进程列表中取消列出我的程序..?

c# - WPF Caliburn.Micro - 在单一窗口应用程序中导航的最佳方式

c# - 匹配文本模板中的多个字符串

c# - Linq 在一个语句中只调用一次函数

c# - 如何使用 Marshal.SizeOf 忽略结构中的字段大小?

c# - 将多个 GridView 导出到多个 excel 选项卡(工作表)

javascript - 在模态弹出窗口中设置 iFrame 的透明度

asp.net - 使用 jQuery 在 UpdatePanel 中开始和结束请求

c# - dotnet publish 不包含在构建后事件期间生成的文件

javascript - 当定义为百分比时,如何获得 div 的物理大小?