4

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

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

根据 MSDN:

Localize 控件继承自 Literal 控件,并且在各个方面都与其相同。Localize 控件在设计时用于区分可以本地化的静态文本与其他静态文本。

我目前对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 输出

在此处输入图像描述

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

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

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

Literal那么控件和控件之间有什么区别Localize?,我错过了什么?

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

4

3 回答 3

5

@Jupaol,不确定您是否清楚<asp:Localize>控件的确切作用,但它将文本转换为本地语言。看看我什么时候应该使用 Localize 控件而不是 Literal?希望这会更有意义。

于 2012-12-28T15:03:52.753 回答
1

正如您所引用的,它们在各个方面都是相同的

唯一的区别是一个是本地化的。就是这样。如果他们愿意,这将使其他类能够以不同的方式对待 Literal。但同样:它们是相同的。

它本质上只是一个标记类。

于 2012-08-10T01:22:47.723 回答
0

http://msdn.microsoft.com/en-us/library/ms227668(v=vs.80).aspx

从 MSDN 链接中,它说“Localize 控件与 Literal Web 服务器控件相同,并且类似于 Label Web 服务器控件。”

您可以从链接中获得更多详细信息。

于 2012-08-10T01:24:03.660 回答