1

HTML5は初めてです。このコードは、ifステートメントでパーサーエラーを返します。とにかく機能するかどうかわからないので、ifステートメントを修正するにはどうすればよいですか?また、これを機能させるにはどうすればよいですか?

<div class="page">
    @if (Constants.EnvironmentSetting.ToUpper() == "LIVE"){
        <header>
    } else {
        <header class="headerTest">
    }

        <div id="title">
            @Content.Image("MulalleyLogoSmall.jpg", "float:left;padding:10px 10px 0 10px", Url)
            <div class="head" style="float:left;padding-top:4px;">Instruction To Open Contract (ITOC)</div>
        </div>

        <div id="logindisplay">
            @Html.Partial("_LogOnUserControl")
        </div> 

        <nav>
            @Html.Partial("_MenuItems")
        </nav>
    </header>

    <section>
        @RenderBody()
    </section>
</div>
4

2 に答える 2

2

中括弧を独自の行に配置する必要はありません。

これに変えるとどうなるの?

@if (Constants.EnvironmentSetting.ToUpper() == "LIVE"){
    @:<header>
} else {
    @:<header class="headerTest">
}

@:、Razor パーサーに、行の残りの部分を C# コードではなくマークアップとして受け取るように指示します。

于 2012-08-30T07:57:59.720 に答える
1

{ を Razor の独自の行に配置する必要があります

@if (Constants.EnvironmentSetting.ToUpper() == "LIVE"){

する必要があります

@if (Constants.EnvironmentSetting.ToUpper() == "LIVE")
{

それ以外の場合は、コードのその部分が機能するはずです。

余談ですが、使用する方が良いです

Constants.EnvironmentSettings.Equals("LIVE", 
             StringComparison.CurrentCultureIgnoreCase);

ToUpper メソッドは、大文字と小文字を区別しない比較で使用できるように、文字列を大文字に変換するためによく使用されます。大文字と小文字を区別しない比較を実行するためのより良い方法は、カルチャに依存し、大文字と小文字を区別しない比較のために値を StringComparison.CurrentCultureIgnoreCase に設定する StringComparison パラメーターを持つ文字列比較メソッドを呼び出すことです。

http://msdn.microsoft.com/en-us/library/ewdd6aed.aspx

于 2012-08-30T07:49:40.023 に答える