0

私の C# Web アプリケーションの HTML コードでは、次のような resx 参照があります。

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">

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 サーバーを介して Web サイトを表示すると、resx からの文字列が表示されます。しかし、IIS Express を使用すると、それら ("Showing"、"of") が表示されません。

理由はありますか?

4

1 に答える 1

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ます。fmtHTML には名前空間の概念がないため、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。

于 2013-05-23T17:16:42.550 に答える