0

我有一个简单的脚本视图,如下所示:

 <script type="txt/javascript">
   function DoSomething(param)
   {
     alert(param);
   }
 </script>

无论如何我可以用控制器操作方法返回结果中的值调用该函数吗?

编辑:

我真的希望使用实体框架值创建/注册 JavaScript 类。如果无法完成,我如何使用 EntityFramework 值创建/注册 Javascript 类?

好的,事情是这样的:我已经有一个类似这样的 JS 函数:

RegisterClasses(param1, param2)
   {
     ......
   }

我已经通过 Fiddler 在其他地方看到过它,但不知道他们是如何做到的。

如何将值传递给该 JS 函数以从 EF 中的值创建类?

4

2 回答 2

1

您可以 JSON 将您的模型序列化为视图:

@model MyViewModel

<script type="text/javascript">
    var model = @Html.Raw(Json.Encode(Model));

    // now the model variable is a JSON representation of your
    // server side model that was passed by the controller action
    // to this view and you could manipulate it as a standard js variable


    // So assuming your model contains 2 properties Param1 and Param2 you
    // could pass them to your javascript method
    RegisterClasses(model.Param1, model.Param2);

</script>
于 2012-07-08T06:27:49.990 回答
1

您可以做的是将其添加到视图中:

<script type="text/javascript">DoSomething(@Model.Param)</script>

Param属性添加到该操作视图模型。

要使用 EF 类,您可以这样做:

<script type="text/javascript">
    var jsModel = { 
                     name: "@Model.Name",
                     age: @Model.Age
                  };
</script>

此外,你可以按照这个答案将任何对象转换为 json:Convert .Net object to JSON object in the view

希望能帮助到你。

于 2012-07-08T02:10:54.150 回答