Razor cshtml从另一个cshtml获取参数

时间:2015-09-08 09:57:27

标签: c# php razor

我是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一样?

非常感谢你的时间。

1 个答案:

答案 0 :(得分:1)

您应该将您的单页应用程序重新创建为MVC应用程序。 所有请求处理(以及其他复杂逻辑)都将在控制器操作中进行。

控制器操作将依次将您需要的所有变量传递给您创建的视图。