将值从c#传递到cshtml到TypeScript

时间:2018-04-24 15:44:26

标签: asp.net-mvc typescript razor

我有一个项目,我将数据从C#传递给cshtml:

public IActionResult Index()
    {
        ViewData["temp"] = "abc"
        return View();
    }

然后在cshtml文件中收到此值,我可以将其读作

var temp = ViewData["temp"];

我有一个打字稿文件,然后从这个cshtml文件启动。 我的问题是,如何在我的打字稿代码中使用这个临时变量。我不想为这个临时数据创建一个'div'元素,然后在typescript中读取它的值,因为从安全角度来看这不是一件干净的事情。

请您以正确的方式建议一些方法吗?

2 个答案:

答案 0 :(得分:2)

Index操作返回的视图中,只需选择一个现有元素(如果您的视图包含该元素,则可以选择body元素)并在该元素中添加data-*属性(您可以将其命名为data-temp),如下所示:

<SomeElementInMyView data-temp="@temp">...</SomeElementInMyView>

在你的Typescript文件中,我想你正在使用jQuery,所以得到这样的数据值:

let dataTemp = $("SomeElementInMyView").data("temp");

答案 1 :(得分:0)

您可以将其作为字符串变量传递给html,例如。

let typeScriptVariable: string = "@temp";