??????? ???? ?? WebMatrix, ????? 5. ?????????? ? ??????????? Razor, ????????? ??? ? ASP.NET

??? ??????????? ???????? ????? ?? WebMatrix. ?????????? ????? ??????????? ????? ????? ?????:

? ???? ????? ?????? ????? ???????? ? ???????????????? ???-??????? ASP.NET ? ??????? ?????????? Razor. ASP.NET — ?????????? ???????? ???-?????????? ? ???-???????? ?? ???????? ??????????, ???????????? ???????????? ??????. ??? ???????? ????????? ?????? ????????? Microsoft .NET ? ????????? ????? ?????? ?????????? Microsoft ASP

???????? ??????? ????????????????

??? ?????????? ? ????? 1, ???? ??? ?????????? ??????????? ????? ???????????????? ? ??????? WebMatrix, ???-??????? ASP.NET ? ?????????? Razor ????? ?????? ????????? ???????????? ???-???????? ?? ???????? ??????????????? ?????????????, ? ??? ????? ?? ??????????? ??????? ????? ????.

? ???? ????? ?????? ????? ???-???????????????? ASP.NET. ??? ?? ????????????? ??????, ? ?????? ??????? ????? ??????? ????????????????, ??????? ????? ???????? ????? ??????????????. ??? ?? ?????, ? ???? ????? ?????????? ????? ???, ??? ??????????? ??? ???????? ?????????? ????? ???????????.

?? ??????? — ????????? ??????????? ?????.

????????? Razor, ????????? ??? ? ASP.NET

????????? Razor — ??? ??????? ????????? ???????????????? ??? ????????? ?????????? ???? ? ???-????????. ? ???-????????, ???????????? ????????? Razor, ?????????? ??? ???? ???????????: ?????????? ??????? ? ????????? ???. ?????????? ??????? – ??? ?? ??????????, ??????? ???????????? ? ???-?????????: ???????? HTML (????????), ???????? ? ?????, ???????? CSS, ?????????? ???????, ???????? JavaScript, ? ??????? ?????.

????????? Razor ????????? ???????? ? ????? ??????????? ???????? ????????? ???. ???? ?? ???????? ??????? ????????? ???, ?? ?????? ??????? ????????? ???? ???, ? ????? ?????????? ???????? ? ???????. ????????? ???? ??? ???????? ?? ???????, ?? ????? ????????? ??????? ????? ??????? ?????? ?? ????????? ? ?????????????? ?????? ??????????? ????????, ???????? ?????? ? ????????? ????? ??????. ?? ??????? ????? ????? ??, ??? ????????? ??? ????? ??????????? ????????? ?????????? ???????, ????????? ?? ????? ????????? ???????? HTML ??? ?????? ?????????? «?? ????», ? ????? ?????????? ? ??????? ?????? ? ????? ??????????? HTML, ????????? ? ????????. ?? ??????? ???????? ?????????? ???????, ????????? ????????? ?????, ????? ?? ?????????? ?? ????? ?????????? ??????????? ????????. ??? ??? ????? ???? ????????, ??????????? ????????? ??? ???????? ?????.

???-???????? ASP.NET, ?????????? ????????? Razor, ????? ??????????? ?????????? ????? (CSHTML ??? VBHTML). ?????? ?????????? ????? ??????????, ????????? ???, ?????????? ??????????? Razor, ? ????? ?????????? ???????? ? ???????.

????? ASP.NET ? ????????? ????????????????

????????? Razor ???????????? ?? ?????????? ??????????, ?????????? ASP.NET, ??????? ? ???? ??????? ???????????? ?? Microsoft .NET Framework. ????????? .NET Framework — ??? ??????? ????????????? ?????????????? ???????????????? ?? ?????????? ?????????? ??? ?????????? ???????????? ?????????? ?????? ????.

ASP.NET ???????? ?????? ????????? .NET Framework, ?????????? ????????????? ??? ???????? ???-??????????. ???????????? ???????????? ASP.NET ??? ???????? ?????? ?? ????? ??????? ? ???? ???-?????? ? ????? ??????? ?????????. (?????? ?????????? ????? ????? ASPX ??? ????? URL-?????? ?????, ????? ??????, ??? ???? ???? ??? ?????? ? ??????? ASP.NET.)

????????? Razor ????????????? ??? ??????????? ASP.NET, ?? ?????????? ?????????? ?????????, ??? ????????? ???????? ??? ?????????? ? ???????? ?????????????????? ????????????. ???? ??? ???, ??? ???? ????????? ????? ? ?????????????, ??? ?????? ????? ? ASP.NET ? ?????????? .NET Framework ????????, ??? ?? ???? ?????????? ???-?????? ???????? ????????? ??? ???? ??????? ?????????????.

image

?????? ? ??????????

????????? ??? ASP.NET ?????????? ???????, ??????? ? ???? ??????? ????????? ?? ????????? ???????. ????? — ??? ??????????? ??? ?????? ???????. ????????, ?????????? ????? ????????? ????? Customer, ???????? ???????? ? ??????, ??????? ?????????? ??????? ??????? «??????».

????? ?????????? ??????????? ???????? ?? ?????????? ????????? ???????, ????????? ????????? (??? ??????????) ??????? «??????». ?????? ?????? ???????? ????????? ??????????? ?????? Customer. ?????? ????????? ???????????? ???? ? ?? ?? ???????? ? ??????, ?? ???????? ??????? ??? ??????? ?????????? ?????? ??????????, ????????? ?????? ?????? «??????» ???????? ??????????. ? ????? ??????? «??????» ???????? LastName ????? ????? ???????? «??????», ? ?????? — «??????».

??????????, ?????? ????????? ???-???????? ????? ???????????? ????? ?????? «????????», ?????????? ??????????? ?????? Page. ?????? ?? ???????? ???????????? ????? ?????? «??????», ??????? ???????? ??????????? ?????? Button, ? ?. ?. ?????? ????????? ????? ???? ??????????? ??????????????, ?? ??? ??? ???????????? ?? ???, ??? ??????? ? ??????????? ?????? ???? ????????.

???? ? ?????????

? ?????????? ????? ?????????? ??????? ?????? ???????? ???-???????? ASP.NET ? ?????????? ?????????? ???? ? ???????? HTML. ????? ????? ??????????? ???????? ???????? ????????? ?????????? ???? ASP.NET ? ??????? ?????????? Razor, ?. ?. ? ??????? ?????? ????? ????????????????.

??? ??????? ???? ???????????????? (???????? ?? ?????? C, C++, C#, Visual Basic ??? JavaScript) ??????? ????? ?????????? ???????? ????? ???????. ????????, ??????????? ???????????? ?????? ? ???, ??? ????????? ??? ??????????? ? ???????? ? CSHTML-??????.

???????? ?????????

??????????? ??????, ???????? ? ???? ? ?????? ????

????? ????????? ??????????? ?????????? ????, ?????? ? ???????? ? ?????? ?????????? ????. ??? ???? ?????????? ???????????? ASP.NET ??????????? ???????? ???? ?? ???????. ????? ?????????? ???????? ???????????????? ??????? ??????????? ??????????? ? ???????.

???? ?????, ?????????? ???????? HTML ??? ????????? ???, «??? ????». ????? ?????? ????????, ???? ? ?????? ?????????? ?????? ????????? ??? ??? ???????? HTML (??? ? ??, ? ??????), ?? ??????????? ??????? ????? (?. ?. ?????, ?? ?????????? ? ???? HTML).

@if(IsPost) {

<p>????????????, ?????? @DateTime.Now, ? ?????? ???????? ???????? ???????? ?????????!</p>

} else{

<p>????????????, <em>??????????!</em> ??????: </p> @DateTime.Now

}

???? ????????? ?????, ?????????? ??????? ?????, ? ??????? ????????? @:. ????? ?????? ????? ????????? ??????? ????? ? ????? ?????????? ???????? ? ????. ? ????? ??????, ?????????? ??????? ????? ? ??? ??? ????????, ???????? @: ??????? ????????? ????? ?????? ?????????? ???????? ??????:

@{

@:???? ??????: @DateTime.Now.DayOfWeek. <em>??????????</em> ????!

}

???????? @: ?????????? ???????????? ?????? ???? ??? ? ??????.

???? ?????????? ?????, ?????????? ??????? ????? ? ????????? ???, ? ??????? ???????? <text>. ???? ??????? ????? ???????????? ? ????????? ?????? ?????????? ????????? @: ??? ? ?????????? ??????? ?????????? ?????? ? ????.

??????????. ASP.NET ??????? ?? ?????????? ???? <text> ? ???????? ????????, ???????????? ? ???????. ??? ???? ???????????? ?????? ? ????????? ????, ????? ?????? ASP.NET ???????? ????? ?? ????.

@{

var minTemp = 22;

<text>?????? ????? @DateTime.Now.ToString("MMMM"), ?

??????? <em>??????????</em> ????! <p>?? ?????? ????? ????????, ???? ???????????

?? ???? @minTemp ????????. </p></text>

}

??????????? HTML

??? ?????????? ??????? @ ? ?????? ???? ASP.NET ????????? HTML-??????????? ????????? ??????????. ????????????????? ??????? HTML (????? ??? < ? > ??? &) ?????????? ?? ????, ??????????? ?????????? ?????????? ??? ??????? ?? ???-????????. ??? ??????????? HTML ????????? ?????????? ?????????? ???? ????? ???????????? ???????????, ? ????? ????? ?????????? ???????? ??????? ????????????. ?????????????? ???????? ? ??????????? HTML ??. ? ????????? ??????.

???????

?????????????? ??????? ? ????????? (? ??? ?????????? ????????) ?? ?????? ?? ???? ????????.

@{ var lastName = "??????"; }

?????? ?????? ? ????????? ?? ?????? ?? ????????, ??????? ????? ????????? ????????? ??? ???????????????. ??????????? ????? ????????? ?????????.

@{ var lastName =

"??????"; }

@{

var

lastName

=

"??????"

;

}

??? ?????????, ?????????????? ????, ????????? ????????? ? ??????????? ???? ?????? ?????????.

?????? ?????? ????????? ?????? ?????? ?????????? ????????. ???? ?????????? ?????? ?????????????????? ?????????.

@{ var test = "??? ???????

??????"; } // ??? ?? ????????!

????? ?????????? ??????? ?????, ???????? ?? ????????? ?????, ??? ? ?????????? ???????, ? ???? ??????? ??????, ??????? ???????????? ???????? ??????????? (+), ??????? ????? ??????? ????? ? ???? ?????.

?????????? ? ????

?????????? ????????? ????????? ??????? ??? ???? ??? ??????. ?????????? ? ????? ?????? ???? ???????????? ????? ?????? ??????? (//) ? ?? ????? ???????????? ???????. ?? ????????? ? Web Matrix ??????????? ????????? ??????? ???????.

@// ????? ????????? ?????????? ? ????.

????????????? ??????????? ??????????? ????? ????????? /* ? */. ?? ?????? ??????? ??? ? ??????????? ????.

@/*

????????????? ?????????? ? ?????????? ???? ????? ?????????

????? ????????? ?????????????? ??????????, ????????????? ?

????? C#, ????????? ?? ???????? @.

*/

@{

// ????? ????????? ?????????? ? ????.

/*

????????????? ?????????? ? ?????????? ???? ????? ????????? ?????

????????? ?????????????? ??????????, ????????????? ? ????? C#.

*/

}

??????????

?????????? — ??? ??????????? ??????, ???????????? ??? ???????? ??????. ?????????? ????? ?????? ????? ?????, ?? ??? ?????? ?????????? ? ????? ? ?? ????? ????????? ???????? ??? ????????????????? ???????.

?????????? ? ???? ??????

?????????? ????? ????? ???????????? ??? ??????, ??????????? ??? ??????, ?????????? ? ???? ??????????. ????? ????????? ?????????? ???? string, ???????? ????????? ???????? (???????? «??????????, ???»), ?????????? ???? integer, ???????? ????? ????? (???????? 3 ??? 79), ?????????? ???? date, ???????? ???? ? ????? ?????? ???????? (???????? «4/12/2010» ??? «???? 2009»). ?????????? ????????? ?????? ????? ??????, ??????? ????? ????????????. ?????? ??? ??????? ??? ?????????? ????????? ?????????????. ? ??????????? ??????? ASP.NET ????? ?????????? ???, ?????? ?? ??????? ????????????? ?????? ? ??????????. (?????? ?????????? ???????? ??? ??????; ? ?????? ??????????? ????? ??????????? ??????? ????? ????????.)

?????????? ??????????? ? ??????? ????????? ????? var (???? ?? ????????? ???????? ???) ??? ? ??????? ????? ????.

@{

// ?????????? ?????????? ??????.

var greeting = "????????????!";

// ?????????? ?????????? ?????.

var theCount = 3;

// ?????????? ?????????? ?????????.

var monthlyTotal = theCount + 5;

// ?????????? ?????????? ???????? ????.

var today = DateTime.Today;

// ?????????? ?????????? URL-?????? ??????? ????????.

var myPath = this.Request.Url;

// ?????????? ?????????? ? ??????? ????? ????? ??????.

string name = "????";

int count = 5;

DateTime tomorrow = DateTime.Now.AddDays(1);

}

? ????????? ??????? ???????????? ????????? ????????? ????????? ????????????? ?????????? ? ???-?????????.

@{

// ????????? ???????? ?????????? ? ???????? HTML.

<p>@greeting, ??????!</p>

// ????????????? ?????????? ??? ????? ??????????? ?????????.

<p>????????? ??????? ????: @( monthlyTotal * 12)</p>

// ??????????? URL-?????? ???????? ? ??????? ??????????.

<p>URL-????? ???? ????????: @myPath</p>

}

?????????, ??????? ????????? ? ????????:

image

?????????????? ? ???????????? ????? ??????

???? ASP.NET ?????? ????? ?????????? ??? ?????? ?????????????, ?????? ??? ??????????. ?????????????, ?????????? ?????? ASP.NET, ???????? ????? ??????????????. ???? ???? ?????????????? ????? ?? ?????????, ?????? ??????? ????????? ??? ??? ????????, ????? ???????, ? ????? ????? ?????? ???????? ????????.

?????? ??????????? ?????????????? ?????????? ? ?????? ???. ???? ????? ?????????? ??????????????? ?????? (??? string) ? ?????? ???, ???????? ? integer ??? date. ? ????????? ??????? ???????????? ???????? ????????, ????? ?????????? ????????????? ?????? ? ?????.

@{

var total = 0;

if(IsPost) {

// ?????????? ?????, ????????? ?????????????.

var num1 = Request["text1"];

var num2 = Request["text2"];

// ?????????????? ????????? ????? ? ????? ????? ? ?? ????????.

total = num1.AsInt() + num2.AsInt();

}

}

??? ???????, ??????, ????????? ?????????????, ?????????? ? ????????? ??????????. ???? ???? ????????????? ???? ????? ? ???????????? ?????? ?????, ????? ???????? ????????????????? ????? ? ?????? ??? ? ???? ?????? ????????? ? ??????? string. ?????????????, ?????????? ????????????? ??? ?????? ? ?????. ? ?????? ??????? ??? ??????? ????????? ?????????????? ???????? ?? ?????????? ??? ?? ?????????????? ????????? ????????? ??????, ????????? ASP.NET ?? ????? ?????????? ??? ??????:

?? ??????? ?????? ????????????? ??? ‘string’ ? ‘int’.

??? ?????????????? ???????? ? ????? ????? ?????????? ????? AsInt. ???? ?????????????? ??????????? ???????, ????? ????? ??????? ??? ?????.

? ????????? ??????? ????????? ???????? ???????????????? ?????? ?????????????? ? ???????????? ??? ??????????.

?????

????????

??????

AsInt(),
IsInt()

??????????? ??????, ?????????????? ????? ????? (???????? "539"), ? ????? ?????.

var myIntNumber = 0;

var myStringNum = "539";

if(myStringNum.IsInt()==true){

    myIntNumber = myStringNum.AsInt();

}

AsBool ( ) ,
IsBool ( )

??????????? ?????? "true" ??? "false" ? ?????????? ??? Boolean.

var myStringBool = "True";

var myVar = myStringBool.AsBool();

AsFloat ( ) ,
IsFloat ( )

??????????? ??????, ?????????? ?????????? ????????, ???????? "1.3" ??? "7.439", ? ????? ? ????????? ???????.

var myStringFloat = "41.432895";

var myFloatNum = myStringFloat.AsFloat();

AsDecimal ( ) ,
IsDecimal ( )

??????????? ??????, ?????????? ?????????? ????????, ???????? "1.3" ??? "7.439", ? ?????????? ?????. (?????????? ????? ????? ??????, ??? ????? ? ????????? ???????.)

var myStringDec = "10317.425";

var myDecNum = myStringDec.AsDecimal();

AsDateTime ( ),
IsDateTime ( )

??????????? ??????, ?????????????? ???????? ???? ? ???????, ? ??? ASP.NET DateTime.

var myDateString = "12/27/2010";

var newDate = myDateString.AsDateTime();

ToString ( )

??????????? ????? ?????? ??? ?????? ? ??????.

int num1 = 17;

int num2 = 76;

// myString is set to 1776

string myString = num1.ToString() +

  num2.ToString();

?????????

???????? — ??? ???????? ????? ??? ??????, ?????????? ASP.NET, ????? ??? ??????? ??????? ????????? ? ?????????. ???? C# (? ?????????????? ?? ??? ????????? Razor) ???????????? ????? ??????????, ?????? ??? ?????? ?????????? ???-??????? ASP.NET ?????????? ?????? ????? ?????????. ? ????????? ??????? ????????? ???????? ???????????????? ?????????.

????????

????????

???????

.

?????. ???????????? ??? ????????? ???????? ? ?? ??????? ? ???????.

var myUrl = Request.Url;

var count = Request["Count"].AsInt();

( )

??????? ??????. ???????????? ??? ????????????? ????????? ? ??? ???????? ?????????? ? ??????.

@(3 + 7)

@Request.MapPath(Request.FilePath);

[ ]

?????????? ??????. ???????????? ??? ??????? ? ????????? ? ???????? ??? ??????????.

var income = Request["AnnualIncome"];

=

??????????. ??????????? ???????? ? ?????? ??????? ????????? ??????? ? ????? ???????. (?? ??????? ?????? ???????? ?????????? (=) ? ???????? ????????? (==).)

var age = 17;

!

?? (?????????). ??????????? ???????? ???????? ? ?????? ? ????????. ?????? ???????????? ? ???????? ??????????? ??????? ???????? ?? ???????? (?.?. ?? ??????????).

bool taskCompleted = false;

// Processing.

if(!taskCompleted) {

    // Continue processing

}

==

?????????. ?????????? true, ???? ???????? ?????.

var myNum = 15;

if (myNum == 15) {

    // Do something.

}

!=

???????????. ?????????? true, ???? ???????? ?? ?????.

var theNum = 13;

if (theNum != 15) {

    // Do something.

}

<
>
<=
>=

?????? ???,
?????? ???,
?????? ??? ?????,
?????? ??? ?????.

if (2 < 3) {

    // Do something.

}

var currentCount = 12;

if(currentCount >= 12) {

    // Do something.

}

+
-
*
/

?????????????? ?????????, ????????????? ? ????????? ??????????.

@(5 + 13)

@{ var netWorth = 150000; }

@{ var newTotal = netWorth * 2; }

@(newTotal / 2)

+

???????????; ???????????? ??? ?????????? ?????. ASP.NET ????????? ???? ???????? ? ???????? ???????? ?? ?????? ???? ?????? ?????????.

// The displayed result is "abcdef".

@("abc" + "def")

& &

| |

?????????? ????????? ? ? ???, ??????? ???????????? ??? ????? ???????.

bool myTaskCompleted = false;

int totalCount = 0;

// Processing.

if(!myTaskCompleted && totalCount < 12) {

    // Continue processing.

}

+=

-=

????????? ?????????? ? ??????????, ?????????????? ????????????? ??? ??????????? ???????? ?????????? ?? ???????.

int theCount = 0;

theCount += 1; // Adds 1 to count

?????? ? ?????? ? ?????? ? ?????? ? ????

? ???? ????? ?????????? ???????? ? ?????? ? ?????? ? ??????. ????? ?????????? ?????? ?????????? ????????? ????? ??? ???-?????, ??? ??? ????? ?? ????????? ?? ?????????? ????????????.

C:\WebSites\MyWebSite

    default.cshtml

    datafile.txt

    \images

        Logo.jpg

    \styles

        Styles.css

?? ???-??????? ???? ????? ????? ??????????? ????????? ?????, ??????????????? ?????????? ?????? ?????. ?? ????????? ??????????? ????? ????? ????????? ? ??????????? ??????? ?????. ??????????? ???????? ????? ?????????????? ????? ?????? (/), ?????????? ????, ??? ???????? ????? ?? ????? C: ?????????? ?????????????? ???????? ????? ?????? (\). (? ????? ??????????? ????? ?????? ???????????? ????? ????? (/).) ????? ?????????? ?????????? ? ??????????? ???? ??? ????? StyleSheet.css ?? ?????????? ????? ?????????.

  • ?????????? ????: C:\WebSites\MyWebSiteFolder\styles\StyleSheet.css
  • ??????????? ???? (?? ??????????? ???????? ????? /): /styles/StyleSheet.css

??? ?????? ? ??????? ? ??????? ? ???? ? ????????? ????????? ?????? ?????????? ????????? ?? ?????????? ????, ? ? ?????? ????????? — ?? ??????????? ????, ? ??????????? ?? ????, ? ?????? ????????? ?????????? ????????. ASP.NET ????????????? ????????? ???????? ??? ?????? ? ?????? ? ?????? ? ?????? ? ????: ???????? ~, ????? Server.MapPath ? ????? Href.

???????? ~. ????????? ??????????? ???????? ?????

???????? ~ ????????????, ????? ??????? ??????????? ???????? ???? ? ?????? ? ??????. ??? ??????, ????????? ????????? ?????????? ???-???? ? ?????? ????? ??? ? ?????? ????????????, ??? ???? ???? ? ???? ????????? ???????????.

@{

    var myImagesFolder = "~/images";

    var myStyleSheet = "~/styles/StyleSheet.css";

}

????? Server.MapPath. ?????????????? ??????????? ????? ? ??????????

????? Server.MapPath ??????????? ??????????? ???? (????? ??? /default.cshtml) ? ?????????? ?????????? ???? (????? ??? C:\WebSites\MyWebSiteFolder\default.cshtml). ???? ????? ???????????? ??? ?????, ? ??????? ????????? ?????? ?????????? ????, ???????? ??? ?????? ??? ?????? ????????? ?????? ?? ???-???????. (?????? ?????????? ?????????? ???? ????? ?? ??????????? ??????? ??????????.) ??????????? ???? ? ????? ??? ????? ?????????? ? ?????, ? ????? ?????????? ?????????? ????.

@{

var dataFilePath = "~/dataFile.txt";

}

<!– ?????????? ?????????? ???? C:\Websites\MyWebSite\datafile.txt –>

<p>@Server.MapPath(dataFilePath)</p>

????? Href. ???????? ????? ? ???????? ?????

????? Href ??????? WebPage ??????????? ????, ????????? ? ????????? ???? (??????? ????? ???????? ???????? ~) ? ????, ??????? «????????» ???????. (??????? «?? ????????» ???????? ~, ????????? ??? ???????? ?????? ASP.NET.) ????? Href ???????????? ??? ???????? ????? ? ????? ????????, ??? ????? ???????????, ?????? ???-???????? ? CSS-?????. ????????, ???? ????? ????? ????????? ? ???????? HTML ??? ????????? ????????? <img>, <link> ? <a>.

<! ???? ??? ??????? ???? "../images/Logo.jpg" ? ???????? src. >

<img src="@Href(myImagesFolder)/Logo.jpg" />

<!– ???? ??? ??????? ??? ?? ?????????, ????????? ???? ? ~ –>

<img src="@Href("~/images")/Logo.jpg" />

<!– ???? ??? ??????? ?????? ?? CSS-????. –>

<link rel="stylesheet" type="text/css" href="@Href(myStyleSheet)"/>

?????? ??????? ? ?????

????????? ??? ASP.NET ????????? ????????? ?????? ?? ?????? ??????? ? ?????? ???, ??????? ????????? ????????? ???????????? ????? ??? (?????).

???????? ???????

??? ???????? ???????? ??????? ???????????? ???????? if, ??????? ? ??????????? ?? ?????????? ???????? ?????????? ??????? ?????????? ???????? true ??? false.

@{

  var showToday = true;

  if(showToday)

  {

    @DateTime.Today;

  }

}

???????? ????? if ???????? ????. ??????? ??????????? ? ??????? ??????, ? ??? ???????? ?????????? true ??? false. ?????????, ??????? ??????????? ? ??????, ????? ??????? ???????, ??????????? ? ???????? ??????. ???????? if ????? ???????? ???? else, ? ??????? ???????? ????????? ??? ?????????? ? ??? ??????, ???? ??????? ?? ???????????.

@{

var showToday = false;

if(showToday)

{

@DateTime.Today;

}

else

{

<text>????!</text>

}

}

? ??????? ????? else-if ????? ????????? ????????? ???????.

@{

var theBalance = 4.99;

if(theBalance == 0)

{

<p>??? ?????? ???????.</p>

}

else if(theBalance > 0 && theBalance <= 5)

{

<p>??? ?????? $@theBalance ????? ?????.</p>

}

else

{

<p>??? ??????: $@theBalance</p>

}

}

? ???? ??????? ? ??????, ????? ?????? ??????? ?? ???????? ????????, ??????????? ???????? ??????? else if. ???? ??? ??????? ??????????? ??? ????????, ?? ??????????? ????????? ? ????? else if. ???? ?? ???? ?? ??????? ?? ??????????? ??? ????????, ?? ??????????? ????????? ? ????? else. ????? ???????? ????? ?????????? ?????? else if ? ??????? ???????? ?????? else ? ???????? ??????? «??? ????????? ??????».

??? ???????? ???????? ????? ??????? ????? ???????????? ???? switch.

@{

var weekday = "?????";

var greeting = "";

switch(weekday)

{

case "???????????":

greeting = "????????????, ??????? ???????? ???????????";

break;

case "???????":

greeting = "??????? ????????????? ???????";

break;

case "?????":

greeting = "????????? ???????? ?????!";

break;

default:

greeting = "??????? ?????-?? ?????? ????, ???????.";

break;

}

<p>????????? ?????? @weekday, ????????? ???: @greeting</p>

}

???????? ??? ???????? ??????????? ? ??????? ?????? (? ?????? ??????? ??? ?????????? weekday). ?????? ????????? ???????? ?????????? ???????? case, ??????? ????????????? ?????????? (:). ???? ???????? ????????? case ????????????? ???????????? ????????, ?? ??????????? ??? ? ???? ????? case. ?????? ???????? case ??????? ????????? ?????????? break. (???? ?? ???????? break ? ?????? ???? case, ?? ????? ????? ???????? ??? ?? ?????????? ????????? case.) ???? switch ????? ????? ???????? ?? ????????? ??? ???????? «??? ????????? ??????», ??????? ??????????? ? ??? ??????, ????? ?? ???? ?? ?????????, ????????????? ? ?????????? case, ?? ??????????? ??? ????????.

????????? ????????? ???? ??????, ??????? ?????????? ? ????????:

image

??? ? ?????

????? ????????? ????????????? ??????????? ????????? ???? ? ?? ?? ?????????. ??? ????? ???????, ???????? ?? ? ????. ????????, ????? ??? ??????? ???????? ? ????????? ?????? ??????????? ???? ? ?? ?? ?????????. ???? ????? ????????, ??????? ??? ????? ????????? ??? ?????????, ????? ???????????? ???? for. ???? ??? ????? ???????? ?????? ??? ??????? ??? ????????? ???????.

@{

    for(var i = 10; i < 21; i++)

    {

        <p style="font-size: @(i + "pt")">?????? ??? ?????? ??????: @i</p>

    }

}

???? ?????????? ???????? ?????? for, ?? ??? ? ??????? ??????? ??????? ??? ?????????, ?????? ?? ??????? ????????????? ?????? ? ???????.

  • ?????? ???????? ? ??????? ??????? (var i=10;) ??????? ??????? ? ?????????????? ??? ????????? 10. ???????? ??? ???????? i ?? ???????????, ????? ???????????? ????? ?????????? ??? ??????????. ??? ?????????? ????? for ??????? ?????????????? ?????????????.
  • ?????? ???????? (i < 21;) ????????????? ???????, ??????????? ???????????? ???????? ????????. ? ?????? ?????? ???????????? ???????? ???????? — 20 (?. ?. ?????????? ?????? ???????????, ???? ??????? ?????? 21).
  • ? ??????? ????????? (i++ ) ???????????? ???????? ??????????, ??????? ?????? ?????????, ??? ??????? ?????? ??????????? ?? 1 ??? ?????? ?????????? ?????.

? ???????? ??????? ????????? ???, ??????? ????? ??????????? ??? ?????? ??????? ?????. ??? ?????? ?????????? ????? ???????? ??????? ????? ???????? (??????? <p>) ? ????????????? ??????? ???????? i (????????) ? ???????? ??????? ?????? ? ???? ?????????. ??? ??????? ???? ???????? ?????? ?????? ??????? 11 ?????, ???????????? ?????????, ?????? ????? ? ?????? ?????? ?????????? ??????? ?? ???? ?????.

image

??? ?????? ? ?????????? ??? ???????? ????? ???????????? ???? foreach. ????????? — ??? ?????? ?????? ????????, ? ???? foreach ????????? ????????? ?????? ??? ??????? ???????? ? ?????????. ???? ??? ????? ???????? ??? ?????????, ?????? ??? ? ??????? ?? ????? for ? ??? ?? ????????? ?????????? ???????? ??? ????????? ???????. ???? foreach ?????? ???????? ?? ???? ?????????, ???? ??? ?? ??????????.

? ??????????? ????? ??????? ???????????? ???????? ?? ????????? Request.ServerVariables (?????????? ???????? ? ???-???????). ? ???? ??????? ???? foreach ???????????? ??? ??????????? ????? ??????? ???????? ????? ???????? ?????? ???????? <li> ? ????????????? ?????? HTML.

<ul>

@foreach (var myItem in Request.ServerVariables)

{

<li>@myItem</li>

}

<ul>

?? ???????? ?????? foreach ??????? ??????????? ? ??????? ?????? ?????????? ??????????, ?????????????? ???? ??????? ? ????????? (? ?????? ??????? – var), ?? ??? ???????? ????? in ? ?????????, ? ??????? ?????? ??????????? ????. ? ???? ????? foreach ????? ???????? ?????? ? ???????? ???????? ? ??????? ??????????? ????? ??????????.

image

??? ???????? ????? ?????????????? ????? ???????????? ???????? while.

@{

var countNum = 0;

while (countNum < 50)

{

countNum += 1;

<p>Line #@countNum: </p>

}

}

???? while ?????????? ? ????????? ????? while, ????? ? ??????? ??????? ??????????? ???????, ??? ????? ?????? ??????????? ???? (? ?????? ?????? — ?? ??? ???, ???? countNum ?????? 50), ? ????? ??????????? ???? ??? ??????????. ????? ?????? ??????????? ??? ????????? ???????????? ??? ???????? ?????????? ??? ??????. ? ?????? ??????? ???????? += ????????? 1 ? countNum ?????? ??? ??? ?????????? ?????. (??? ?????????? ?????????? ? ????? ? ???????? ????????? ??????? ???????????? ???????? ?????????? –=)

image

??????? ? ?????????

????? ??? ? ???-????? ASP.NET ???????? ????????, ??????? ???? ???-????????. ? ???? ??????? ??????????????? ????????? ?????? ???????, ? ???????? ???????? ????? ???????? ? ????.

???????-????????

???????? ???????? ? ASP.NET ???????? ????????. ?????? ? ????????? ???????-???????? ????? ???????? ????????, ??? ?????-???? ???????????? ???????. ? ????????? ???? ??????????? ???? ????? ? ??????? ??????? Request ????????.

@{

var path = Request.FilePath;

}

????? ??????? ????? ????????? ??, ??? ??????????? ?????? ?? ???????? ? ?????? ??????? ????????, ????? ????????????? ???????????? ???????? ????? this ??? ????????????? ???????-???????? ? ????. ? ????????? ??????? ? ?????????? ??? ????????? ???????? ????? this.

@{

var path = this.Request.FilePath;

}

????????? ???????? ???????-???????? ????????? ???????? ????????? ???????? ? ???.

  • Request. ??? ??? ??????????? ?????, ??? ???????? ???????????? ????????? ???????? ? ??????? ???????, ??????? ??? ????????, ???????????? ??????, URL-????? ????????, ????????????? ???????????? ? ?.?.
  • Response. ??? ????????? ???????? ?? ??????? (????????), ???????????? ???????? ????? ?????????? ?????????? ?????????? ????. ????????, ??? ???????? ????? ???????????? ??? ?????? ???????? ? ??????.

@{

    // ?????? ? ??????? Request ???????? ??? ????????? URL-??????.

    var pageUrl = this.Request.Url;

}

    <a href="@pageUrl">??? ????????</a>

??????? ????????? (??????? ? ???????)

????????? — ??? ?????? ???????? ?????? ????, ???????? ????????? ???????? Customer ?? ???? ??????. ? ASP.NET ??????? ????????? ?????????? ?????????, ???????? ????????? Request.Files (??????????? ?????).

????? ?????????? ???????? ? ??????? ? ?????????. ??? ???????? ???? ????????? — ??? ?????? ? ???????. ??????? ????????????, ????? ?????????? ????????? ????????? ?????????? ?????????, ? ?? ????????? ????????? ????????? ?????????? ??? ???????? ??????? ????????.

@* // ???? ??????? 1. ?????????? ?????? ??????? ? ??????? ??????.*@

 

@{

<h3>????? ??????</h3>

string[] teamMembers = {"??????", "????", "????", "????"};

foreach (var person in teamMembers)

{

<p>@person</p>

}

}

image

??? ?????????? ???????? ??????????? ???????????? ??? ??????, ???????? string, int ??? DateTime. ????? ???????, ??? ?????????? ????? ????????? ??????, ? ?????????? ??????????? ?????????? ?????? (???????? string[] ??? int[]). ?????? ? ????????? ??????? ?????????????? ? ??????? ?? ????????? (???????) ??? ? ??????? ????????? foreach. ??????? ??????? ?????????? ? ????, ?.?. ?????? ??????? ????????? ? ??????? 0, ?????? – ? ??????? 1 ? ?.?.

@{

string[] teamMembers = {"??????", "????", "????", "????"};

<p>?????????? ???? ? ??????? teamMembers: @teamMembers.Length </p>

<p>???? ????????? ? ???????: @Array.IndexOf(teamMembers, "????")</p>

<p>??????? ??????? ? ??????? 2 (? ???????? ?? 0) –@teamMembers[2]</p>

<h3>??????? ??????? ?????? ?????? ? ??????</h3>

foreach (var name in teamMembers)

{

<p>@name</p>

}

<h3>???????? ??????? ?????? ?????? ? ??????</h3>

Array.Reverse(teamMembers);

foreach (var reversedItem in teamMembers)

{

<p>@reversedItem</p>

}

}

?????????? ????? ????????? ? ??????? ????? ? ??????? ???????? Length. ????? ???????? ??????? ??????????? ???????? ? ??????? (????????? ????? ? ???????), ??????? ???????????? ????? Array.IndexOf. ????? ????? ????????? ????? ????????, ??? ????????? ??????? ?????????? ??????? ?? ??????????????? (? ??????? ?????? Array.Reverse) ??? ?????????? ????????? ??????? (? ??????? ?????? Array.Sort).

????????? ?????? ???? ???????? ?????????? ???????, ??????? ????????? ? ????????:

image

??????? — ??? ????????? ??? ????/????????, ????? ??? ????????? ??? ????????? ???????????????? ???????? ??????????????? ???? (??? ???).

@{

var myScores = new Dictionary<string, int>();

myScores.Add("test1", 71);

myScores.Add("test2", 82);

myScores.Add("test3", 100);

myScores.Add("test4", 59);

}

<p>??? ????????? ????? 3: @myScores["test3"]%</p>

@(myScores["test4"] = 79)

<p>??? ???????????? ????????? ????? 4: @myScores["test4"]%</p>

image

??? ???????? ??????? ???????????? ???????? ????? new, ???????????, ??? ????????? ????? ??????-???????. ????? ????????? ??????? ??????????, ???????????? ???????? ????? var. ???? ?????? ????????? ??????? ???????? ? ??????? ??????? ?????? ( < >). ? ????? ?????????? ?????????? ???????? ???? ??????? ??????, ????????? ?????????? ??? ?????, ????????? ????? ???????.

????? ???????? ???????? ? ???????, ????? ??????? ????? Add ?????????? ??????? (? ?????? ?????? myScores), ? ????? ??????? ???? ? ????????. ????? ????, ????? ??????? ???? ? ?????????? ??????? ? ????????? ??????? ??????????, ??? ? ????????? ???????.

myScores["test4"] = 79;

????? ???????? ???????? ?? ???????, ??????? ??????? ???? ? ?????????? ???????.

var testScoreThree = myScores["test3"]

????? ??????? ? ???????????

??? ?? ?????? ? ?????? ???? ?????, ??????? ? ????? ????????? ????? ????? ??????. ????????, ? ??????? ???? ?????? ????? ???? ???????? database.connect ?????. ?????? ?????? ????? ???? ??? ????????? ??????????. ?????????? ???????? ????????, ??????? ?? ??????? ?????? ??? ?????????? ?????????? ??????. ????????, ?????????? ?? ??????? ?????? Request.MapPath, ??????? ????????? ??? ?????????:

public string MapPath(string virtualPath, string baseVirtualDir, bool allowCrossAppMapping);

???? ????? ?????????? ?????????? ???? ?? ???????, ??????? ????????????? ?????????? ???????????? ????. ??? ????????? ??? ?????? VirtualPath, baseVirtualDir ? allowCrossAppMapping. (???????? ????????, ??? ? ???????, ????????? ????????? ? ?????? ??????, ??????? ??? ??????.) ??? ?????? ????? ??????, ?????????? ??????? ???????? ??? ???? ???? ??????????.

????????? Razor ???? ??? ??? ???????? ??? ???????? ?????????? ? ?????: ??????????? ????????? (positional parameters) ? ??????????? ????????? (named parameters). ??? ?????? ?????? ? ??????? ??????????? ??????????, ?? ????????? ????????? ? ?????? ?? ????????, ????????? ? ?????????? ??????. (?? ?????? ????? ????? ??? ?????????, ???????? ?????? ???????????? ??? ??????.) ?? ?? ?????? ?????????? ????? ?? ?????????? – ???? ?? ?? ???????????, ?? ?? ????????? ???????? ?????? ("") ??? ?? ????????? null.

????????? ?????? ????????????, ??? ?? ????? ????? ?????????? ????? ? ????????? Scripts. ??? ???????? Request.MapPath ????? ? ???????? ???????? ??? ???? ??????????. ????? ?? ?????????? ?????????? ????.

@{// ???????? ?????????? ?????? ? ??????? ??????????? ??????????.

var myPathPositional = Request.MapPath("/scripts", "/", true);

<p>@myPathPositional</p>

}

????? ????? ????? ????? ??????????, ?? ?????? ????????? ??? ??? ????? ???????????, ????????? ??????????? ?????????. ??? ?????? ??????, ????????? ??????????? ?????????, ?????????? ??????????? ????? ?????????? ? ????? ????????? (:), ??????????????? ?? ????????. ????????????? ??????????? ?????????? ???????? ??, ??? ?? ?????? ???????? ?? ? ????? ???????. (??????????? ???????? ??, ??? ?????? ???????? ?????? ?????.)

????????? ?????? ???????? ? ??? ?? ?????, ??? ? ????, ?? ?????????? ??????????? ????????? ??? ????????:

@{// ???????? ?????????? ?????? ? ??????? ??????????? ??????????.

var myPathNamed = Request.MapPath(baseVirtualDir: "/", allowCrossAppMapping: true, virtualPath: "/scripts");

<p>@myPathNamed</p>

}

??? ??????, ????????? ?????????? ? ?????? ???????. ??? ?? ?????, ???? ?? ????????? ?????????? ?????? ? ???? ??????, ??? ????? ?????????? ?????????? ????????.

image

?????????????

?????????? ??????? ?????????, ???????????? ????????????? ???????? “??? ?????????”, ?? ?????????? ?????? ? ?????????? ????? ???????????.

Comments are closed.