Опубликован: 29.08.2012 | Уровень: специалист | Доступ: платный
Лекция 7:

Инструментарий WebMatrix для серверной разработки

Запускаем проект и получаем следующий результат:

Здесь хотелось бы отметить следующее.

  1. Скриптовая часть заключается в серверные скобки:
    @{
    ………………
    
    }
          
  2. Использовался язык программирования JavaScript

Помимо JavaScript вполне можно использовать и C#.В следующие примере мы покажем способ нахождения суммы вещественного массива, написанный на языке C# (sample_3).

<styletype="text/css">
p {
font-family: 'Comic Sans MS';color: #0094ff;
    }
</style>

@{
double[] alpha = { -3.8, 11.6, 5.9, 13.4, 24.67 };
int n = alpha.Length;
double sum = 0;
stringstr = "";
inti;

for (i = 0; i<n;i++ )
    {
str+=alpha[i] + " ";
        sum+=alpha[i];
    }

}
<p>Массив: @str</p>
<p>Сумма массива: @sum</p>
    

Обратите внимание, что код нашей веб-страницы может быть очень аскетичным. Рассмотрим еще один пример работы с массивом (sample_4).

@{
string[] Planets = {"Меркурий","Венера","Земля","Марс",
"Юпитер","Сатурн","Уран", "Нептун" };
<p>Количество планет Солнечной системы:  @Planets.Length</p>
foreach (var Planet in Planets)
{
<br/>@Planet
 }

<h3>Обратный порядок планет:</h3>
Array.Reverse(Planets);
foreach (varreversedItemin Planets)
 {
<br/>@reversedItem
 }

}
    

В двух последующих примерах мы покажем работу операторов, влияющих на ход выполнения программы, а именно, условный оператор и переключатель.

Условныйоператор (sample_5)

<styletype="text/css">
p {
font-family: 'Comic Sans MS';color: #0094ff;
    }
</style>
@{
var a1 = 3;
var a2 = -5;
varstr="";
var b1=a1;
if (a1 > a2) { b1 = a1; } else { b1 = a2; }
str = "Наибольшее из двух чисел = " + b1;
}
<p>Первое число: @a1</p>
<p>Второе число: @a2</p>
<p>@str</p>
        

Переключатель (sample_6)

<styletype="text/css">
p {
font-family: 'Comic Sans MS'; color: #0094ff;
    }
</style>

@{
var weekday = "Пятница";
var greeting = "";
switch(weekday)
{
case"Понедельник": greeting = "Отдых от выходного дня"; break;
case"Вторник": greeting = "Подготовка к рабочему дню"; break;
case"Среда": greeting = "Рабочий день"; break;
case"Четверг": greeting = "Отдых от рабочего дня"; break;
case"Пятница": greeting = "Подготовка к выходному дню"; break;
case"Суббота": greeting = "Первый выходной день"; break;
case"Воскресенье": greeting = "Второй выходной день"; break;        
default: greeting = "Сегодня какой-то другой день, отлично."; break;
}
<p>Сегодня @weekday,  @greeting</p>
}
        

В следующем примере (sample_7) мы покажем прием работы со словарем. Программа будет генерировать библейские заповеди.

<styletype="text/css">
h1 {
font-family: 'Comic Sans MS'; color: #0094ff;
    }
</style>

@{
var Precept = newDictionary<int, string>();
    Precept.Add(1, "Я Господь, Бог твой; да не будет у тебя других богов пред лицом Моим");
Precept.Add(2, "Не делай себе кумира и никакого изображения того, что на небе вверху, 
что на земле внизу, и что в воде ниже земли. Не поклоняйся им и не служи им; ибо Я Господь, Бог твой, 
Бог ревнитель, наказывающий детей за вину отцов до третьего и четвёртого [рода], ненавидящих Меня, 
и творящий милость до тысячи родов любящим Меня и соблюдающим заповеди Мои");
Precept.Add(3, "Не произноси имени Господа, Бога твоего, напрасно; ибо Господь не оставит без наказания того, 
кто произносит имя Его напрасно");
Precept.Add(4, "Помни день субботний, чтобы святить его. Шесть дней работай, 
и делай всякие дела твои; а день седьмый - суббота Господу, Богу твоему: не делай в оный никакого дела ни ты, 
ни сын твой, ни дочь твоя, ни раб твой, ни рабыня твоя, ни скот твой, ни пришлец, который в жилищах твоих. 
Ибо в шесть дней создал Господь небо и землю, море и все, что в них; а в день седьмый почил. 
Посему благословил Господь день субботний и освятил его");
Precept.Add(5, "Почитай отца твоего и мать твою, чтобы продлились дни твои на земле, 
которую Господь, Бог твой, дает тебе");
Precept.Add(6, "Не убивай");
Precept.Add(7, "Не прелюбодействуй");
Precept.Add(8, "Не кради");
Precept.Add(9, "Не произноси ложного свидетельства на ближнего твоего");
Precept.Add(10, "Не желай дома ближнего твоего; не желай жены ближнего твоего, ни раба его, 
ни рабыни его, ни вола его, ни осла его, ничего, что у ближнего твоего");

Random rand = newRandom();
int n=rand.Next(1, 10);
stringstr = Precept[n];
}

<h1>@str</h1>
    

В заключение мы продемонстрируем работу с формой (sample_8). В форме мы разместим три поля ввода и кнопку. В поля ввода пользователь будет вводить коэффициенты квадратного уравнения. При нажатии на кнопку программа будет выдавать на экран результат.

@{
varstr = "";
if(IsPost) {
// Извлечение чисел, введенных пользователем.

var a = Request["txtA"].AsFloat();
var b = Request["txtB"].AsFloat();
var c = Request["txtC"].AsFloat();

var d = System.Math.Pow(b, 2) - 4 * a * c;

if (d< 0) { str = "Действительных корней нет!"; } 

else
{
var x1=(-b-System.Math.Sqrt(d))/(2*a);
var x2 = (-b + System.Math.Sqrt(d)) / (2 * a);
str = "x1 = " + x1 + ", x2 = " + x2;    
}                        

}
}
<!DOCTYPEhtml>
<html>
<head>
<title></title>
<metahttp-equiv="content-type"content="text/html;charset=utf-8"/>
<styletype="text/css">
body {background-color: beige; font-family: Verdana, Arial;
margin: 50px; }
form {padding: 10px; border-style: solid; width: 250px;}
</style>
</head>
<body>
<p>Решение квадратного уравнения</p>
<formaction=""method="post">
<p><labelfor="txtA">a=</label>
<inputtype="text"name="txtA"/>
</p>
<p><labelfor="txtB">b=</label>
<inputtype="text"name="txtB"/>
</p>

<p><labelfor="txtC">c=</label>
<inputtype="text"name="txtC"/>
</p>
<p><inputtype="submit"value="Вычислить"/></p>

</form>
<p>@str</p>
</body>
</html>
    



На практических занятиях мы изучим возможности технологии ASP.NETRazor для работы с базами данных и создания галерей изображений.

Александр Лобанов
Александр Лобанов

Даю задания для студентов. Они хотят повторно пройти курс. Как отписаться от выполненного курса, что бы пройти его заново?

Анна Королева
Анна Королева
Беларусь, Минск, Беларуский Государственный Университет Информатики и Радиоэлектроники, 1998
Аббас Гусенов
Аббас Гусенов
Казахстан, Алматы, Казахский национальный технический университет имени К.И. Сатпаева, 2013