Я новичок в C # и Razor v3.
У меня есть php веб-приложение, которое я пытаюсь преобразовать в ASP.NET. Я решил, в основном из-за легкости, использовать Razor. Что я делаю, так это одностраничное приложение.
Я выложил это в PHP через 3 файла php, 1 из которых, по сути, передает значения переменных в основной index.php, например, так
vars.php
if (isset($_GET["lang"])) {
$lang = mb_strtolower($_GET["lang"]);
} else {
$lang = "el";
}
и вот как мой index.php использует эту переменную
<html lang=<?php echo "\"".$lang."\"";if($page2go===1) {echo " itemscope itemtype=\"http://schema.org/Article\"";}?>>
Теперь каждый раз, когда вызывается index.php, я вызываю vars.php, используя
<?php require_once('./scripts/vars.php');?>
Вот как мои значения передаются в мой index.php.
Я обнаружил, что могу сделать то же самое, включив свои операторы if и переменные delcarations в верхней части моего index.cshtml. Вот так
@{
var lang = "";
if (!String.IsNullOrEmpty(Request.QueryString["lang"]))
{
var interior = Request.QueryString["lang"];
interior.ToLower();
lang = interior;
}
else
{
lang = "el";
}
}
Теперь я выполняю МНОГО таких операций, превращая мой index.cshtml в беспорядок.
Есть ли способ передать значения переменных, как я делаю в php, включив vars.php?
Большое спасибо за ваше время.
Вам следует заново создать одностраничное приложение в приложении MVC.
Вся обработка запроса (и другая сложная логика) будет происходить в действии контроллера.
Действие контроллера, в свою очередь, передаст все переменные, которые вам нужны, в представление, которое вы создали.
Других решений пока нет …