我是C#和Razor v3的新手。
我有一个php web应用程序,我试图转换为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的方式。
我发现我可以通过在index.cshtml的顶部包含我的if语句和变量decarations来做类似的事情。像这样
@{
var lang = "";
if (!String.IsNullOrEmpty(Request.QueryString["lang"]))
{
var interior = Request.QueryString["lang"];
interior.ToLower();
lang = interior;
}
else
{
lang = "el";
}
}
现在我执行了大量的if操作,使我的index.cshtml绝对混乱。
有没有办法传递变量值,就像我在php中通过包含vars.php一样?
非常感谢你的时间。
答案 0 :(得分:1)
您应该将您的单页应用程序重新创建为MVC应用程序。 所有请求处理(以及其他复杂逻辑)都将在控制器操作中进行。
控制器操作将依次将您需要的所有变量传递给您创建的视图。