ページ内でC#のコードを実行する

Razor構文

ASP.netではページ内にC#のコードを埋め込むことでHTMLページ内でC#と.netFrameworkの強力なパワーを発揮することができます。

 

このようなcshtmlページをつくります。

@{
    string message = "Hello,World!";
}

<!DOCTYPE html>
<html>
    <head>
        <title>テストページ</title>
    </head>
    <body>
        <h1>@message</h1>
    </body>
</html>

実行してみるとこうなります。

16

@以降に記述された文はC#として扱われます。

このような記法をRazor構文と呼びます。

 

Razor構文では、わりとどこにC#のコードをいれても大丈夫です。

14[

しかし、変数などを使用するときは必ず使用する前に宣言をしないとコンパイルエラーが起こってしまいます。

コンパイルエラーになる場合

15

 

 

もちろんC#なので.netFrameworkのクラスをたたいたり、四則演算なども可能です

@{
    DateTime time = DateTime.Now;

    int nextDay = time.Day + 1;
}

<!DOCTYPE html>
<html>
    <head>
        <title>テストページ</title>
    </head>

    <body>
        <p>次の日は</p>
        <h1>@nextDay</h1>
    </body>
</html>

17

 

 

また、HTMLの要素内にC#のメンバーを埋め込む場合、

<p>@nextDay</p>

のように単一のメンバーを宣言するか

他の文章と合成させるなら@の前に1つ空白スペースを開ける必要があります。

<p>明日は @nextDay です</p>

また、このようなコードも実行できます

<p>@(“明日は”+nextDay+”です”)</p>

 

もし、@の前にスペースを入れなかった場合、

<p>明日は@nextDay です</p>

こうなります。

18

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください