MVC 3 Razorビューエンジン基礎構文

7420 ワード

-ベース-
@の先頭または@{/*コード体*/}(@と{直接スペースを追加してはいけない)の一部のコードはすべてASP.NETエンジンで処理されます.@{/*コード体*/}内のコードの各行は「;」でなければなりません.終了、例えば@{var i=10;var y=20;}@xxxは";"を必要としません.終了文字として、
@i出力10
@y; 出力20;コード領域内のアルファベットは大文字と小文字に分かれている.文字タイプ定数は、たとえば@{string str="my string";
-注意-
ページに出力する必要がある場合"@"文字はHTML ASCII符号化@もちろんRazorも知能分析機能を提供しています:@の前の文字が空白文字でない場合、ASP.NETでは処理されません
例えば:

text@ixx

出力text@ixx単行構文:
@{ var I = 10; }複数行の構文:
@{ 
    var I = 10;
    Var y = 20;
}

1.ローカル変数を使用し、Razorはアクセス修飾子(public、privateなど、これは何の意味もありません)をサポートしません.ローカル変数@{var total=7;}@{ var myMessage = "Hello World";}複数行でのローカル変数の定義
@{
    var greeting = "Welcome to our site!";
    var weekDay = DateTime.Now.DayOfWeek;
    var greetingMessage = greeting + " Today is: " + weekDay;
}

コンテキストでの変数の使用
<p>The value of your account is: @total </p>
<p>The value of myMessage is: @myMessage</p>

注:変数パッチ出力
@{ var i = 10; }

text@i text

はtext 10 textを出力しますが、text 10 textを出力したい場合は?
<p>text@{@i}text</p>  
<p>text@i text</p>     text@i text
<p>text@itext</p>     text@itext
<p>text @itext</p>    

変数を出力メソッド名であれば@{}で囲む必要もなく有効ですが、@文字の前にスペース(

[email protected]()text

変数オブジェクトを使用すると、@var 1@var 2@myobjectと直接書くことができます.xx
2.論理処理の使用
@{
    if (xx)
    {
    //do something
    }
    else
    {
    //do anything
    }
}

3.で@{…}内部htmlタグの使用
@{
    <p>text</P>
    <div>div1</div>
}

4.で@{…}内部出力テキスト利用@:単行出力を行う:
@{
    @:This is some text
    @:This is text too
    @:@i       
}

を使用して複数行の出力を行います.
@{
    <text>
        tomorrow is good
        some girl is nice
    </text>
}

5.で@{…}内部使用コメント
@{
    //    
    var i = 10;
    //defg
}
 
    @*      *@
    @* 
            
             
    *@
 
 
@{
    @*
            
             
    *@
    var i = 10;  @* asdfasf *@
}
 
<!--        C#   /* ... */ -->
 
@{
    /*
             
    */
}

@{...}内部使用コメントは、にある場合はページに出力されます.内部で@変数を使用すると、@{
}出力:
6.タイプ変換AsInt()、Isint()AsBool()、IsBool()AsFloat()、IsFloat()AsDecimal()、IsDecimal()AsDateTime()、IsDateTime()ToString()の例:
@{
    var i = “10”;
}
 
<p> i = @i.AsInt() </p> <!--    i = 10 --> 

7.使用サイクル
<!--  1-->
@for (int i = 10; i < 11; i++)
{
    @:@i
}
<!--  2-->
@{
    for (int i = 10; i < 11; i++)
    {
        //do something
    }
}
 
<!--while  -->

http://www.cnblogs.com/highend/archive/2011/04/09/2010100.html