在我的C#Web应用程序的html代码中,我将resx引用为:
ul class =“inlineList” 里 fmt:message key =“scrollabletable.footer”/ span data-bind =“text:firstDisplayedRowNumber()+' - '+ lastDisplayedRowNumber()” /跨度 fmt:message key =“scrollabletable.pager”/ span data-bind =“text:itemCount”>
resx代码:
<data name="scrollabletable.footer" xml:space="preserve">
<value> Showing </value>
</data>
<data name="scrollabletable.pager" xml:space="preserve">
<value> of </value>
</data>
当我通过ASP.NET VS Server查看网站时,我可以看到显示resx的字符串。但是,当我使用IIS express时,那些(“显示”,“of”)不会显示。
知道为什么吗?
答案 0 :(得分:0)
关于您对帖子的最后评论:
看起来您在fmt
元素的属性上使用了名称空间li
。假设您有以下内容:
<!DOCTYPE html>
<html>
<head>
<!-- some stuff here -->
</head>
<body>
<!-- some stuff here -->
<ul class="inlineList">
<li fmt:message key="scrollabletable.footer" />
<span data-bind="text: firstDisplayedRowNumber() + '-' + lastDisplayedRowNumber()" />
<span fmt:message key="scrollabletable.pager" />
<span data-bind="text: itemCount">
<!-- other stuff below -->
问题不在于您的RESX。它位于fmt
属性的message
命名空间中。 fmt
是HTML中无法识别的命名空间,因为HTML没有命名空间的概念。另一方面,XHTML具有命名空间的概念。使用XHTML时,没有什么可以阻止您声明其他名称空间。我建议尝试以下方法:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fmt="urn:fmt-namespace-here" xml:lang="en">
<head>
<!-- some stuff here -->
</head>
<body>
<!-- some stuff here -->
<ul class="inlineList">
<li fmt:message key="scrollabletable.footer" />
<!-- NOTE: Instead of specifying the namespace in the html element, you could
also do the following:
<li fmt:message key="scrollabletable.footer" xmlns:fmt="urn:fmt-namespace-here" />
-->
<span data-bind="text: firstDisplayedRowNumber() + '-' + lastDisplayedRowNumber()" />
<span fmt:message key="scrollabletable.pager" />
<span data-bind="text: itemCount">
<!-- other stuff below -->
在上面的示例中,您已声明了您的命名空间fmt
,现在文档处理器将了解它并识别它。
注意:由于您在OP中的示例HTML之前没有包含空格,因此我不得不猜测您所写的内容,因为所有<
和>
消失了,可能还有其他内容跟着这些角色。
HTH。