javascript - 如何从 .NET 字符串序列化 javascript 函数

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

MVC4 Razor View 应该包含从 View 模型返回的函数定义:

<script>
var colmodel = { onClick: function() { 
                   alert('Click'); 
                   }
               };
</script>

我试过

var colmodel=@Html.Raw(Model.Definition());

在 View 模型中

public string Definition() {
  return Json.Encode( new { onClick= @"function() { 
                   alert('Click'); 
                   }
" );
 }

但它返回字符串属性而不是 javascript 函数对象。 如何解决此问题以便 javascript 函数定义出现在 View 中?

使用了 ASP.NET MVC4、C#、Razor、Jquery。

最佳答案

只需使用一个字符串返回函数:

public string Definition() {
  return "{ onClick: function() { alert('Click'); }};";
}

并且分号在结束时不是必需的:

var colmodel=@Html.Raw(Model.Definition())

关于javascript - 如何从 .NET 字符串序列化 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35113048/

相关文章:

javascript - 使用 "controller as ... "语法时另一个指令内的第 3 方指令

javascript - Ajax 通过 post 将文本从一个文本区域复制到另一个文本区域

javascript - 无法访问函数内的地理位置

javascript - 从javascript返回true然后表单继续提交

javascript - AngularJS 中的 HTML 标记

json - 将 JSON 反序列化为扁平化类

c#变量使用

c# - 如何在 C# 中使用正则表达式获取某个特定单词之前的数字?

c# - 等待任务完成后不返回

JavaScript:如何从 JSON 字符串中删除值中除外的所有空格?