通过Visual Studio 2012使用IIS Express时,无法识别resx更改

时间:2013-05-21 20:02:31

标签: c# visual-studio iis iis-express

在我的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”)不会显示。

知道为什么吗?

1 个答案:

答案 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。