asp.net-mvc - 将值从 c# 传递到 cshtml 到 TypeScript
问题描述
我有一个项目,我通过以下方式将数据从 C# 传递到 cshtml:
public IActionResult Index()
{
ViewData["temp"] = "abc"
return View();
}
然后在 cshtml 文件中接收该值,我可以将其读取为
var temp = ViewData["temp"];
我有一个打字稿文件,然后从这个 cshtml 文件启动。我的问题是,如何在我的打字稿代码中使用这个临时变量。我不想为这个临时数据创建一个“div”元素,然后在打字稿中读取它的值,因为从安全角度来看,这不是一件干净的事情。
你能建议一些方法以正确的方式做到这一点吗?
解决方案
在您的Index
操作返回的视图中,只需选择一个现有元素(body
如果您的视图包含它,您可以选择该元素)并在该元素中添加一个data-*
属性(您可以命名它data-temp
),如下所示:
<SomeElementInMyView data-temp="@temp">...</SomeElementInMyView>
在您的 Typescript 文件中,我想您正在使用 jQuery,因此获取如下数据值:
let dataTemp = $("SomeElementInMyView").data("temp");
推荐阅读
- jquery - 如何编辑 jsTree 节点并获取新名称?
- java - 光标未正确初始化 SQLite 数据库 Android
- java - Angular Spring Boot:重定向错误:预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Content-Type
- python - Python - matplotlib polarplot 问题 - “posx 和 posy 应该是有限值”
- firebase - firebase 实时数据库的可用性
- powershell - Outlook EntryId 语法
- database - 用于在磁盘上存储 URI 以进行快速读取的最佳数据库是什么?
- c# - 设置 Word 文档的元属性时 C# VSTO 命名空间错误
- java - 将自定义注释 (@TestDisplayName) 属性中的值传递给另一个注释 (@DisplayName)
- angular - 如何更改 Angular Material select 中的滚动条样式?