javascript - 将 C# 模型从 View 传递到 Javascript

标签 javascript c# asp.net-mvc razor model

我将这个 ViewModel 传递给我的 View :

  public class DashboardViewModel
  {
    public List<UserTask> UserTasks {get; set;}

    public List<WorkItem> WorkItems {get; set;}
  }    

在 View 中,我像这样遍历 WorkItems:

 @foreach (var item in Model.WorkItems)
 {
    @item.Name
    @item.HoursLogged
    <button value="@item">UPDATE</button>
 }

当我点击按钮时,jQuery 函数打开了一个模式。

我需要将项目传递给模态以显示所有项目信息。

这是javascript函数:

$(buttonEl).click(function () {
   //code to open modal
   var item = this.value;
});

“this.value”中传入的值不是一个对象,而是一个带有WorkItem命名空间的字符串。

我也试过使用内联 onclick 函数:

<button onclick="openModal('@item')">UPDATE</button>

但结果相同。

有什么想法吗?

最佳答案

我通常使用它来从 MVC 转换为 javascript!

@Html.Raw(Json.Encode(item))

关于javascript - 将 C# 模型从 View 传递到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36756829/

相关文章:

javascript - Datepicker默认年份错误

javascript - 使用 angular 指令和 jqLit​​e 选择第一个子图像标签

c# - linq orderby.tolist() 性能

c# - 在 MVC 中上传文件时,字符串或二进制数据将被截断

js 文件中的 jQuery ajax

asp.net-mvc - 缩小的脚本仅在MVC4 BundleConfig中

javascript - 如何改变列表框中当前选中项的值?

javascript - 平滑滚动 JavaScript 影响模态功能

c# - 如何根据数据库列的值制作动态选项标签

c# - 带有 EF6 和 dotConnect for oracle 的 aspnetcore 2.0