在MVC 4 Razor View中引用外部dll

时间:2013-11-26 06:59:47

标签: c# asp.net-mvc asp.net-mvc-4 razor dll

我有一个MVC 4应用程序,我想调用我的外部DLL(.net项目),它将返回一个数据集。虽然我已经参考了,但我无法让它在我的项目中工作。 DLL项目名称是PScope.Optimizer。它给了我错误 - 0x800a1391 - JavaScript运行时错误:'PScope'未定义

这是来自DLL的示例代码:

Public Class Main
Public Sub Main(connString As String, tenantID As Int16)
    Connection_String = connString
    Tenant_ID = tenantID
End Sub
Public Function MyFunc() As Integer

    Return 0
End Function

结束班

这是来自MVC的代码:

    @using PScope.Optimizer;

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />

    <script " type="text/javascript">
        function OnButtonClick(s, e) {
            var main1 = new PScope.Optimizer.Main();
        }
   </script>
</head>
<body>
    <div>

       @Html.DevExpress().Button(settings =>
   {
       settings.Name = "Button";
       settings.Text = "Run Optimiser";
       settings.ToolTip = "This may take a while. Please be patient";
       settings.ClientSideEvents.Click = "function (s, e) { OnButtonClick(s, e); }";
       //settings.UseSubmitBehavior = true;

   }).GetHtml()
    </div>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

您似乎正在尝试将C#代码作为JavaScript运行。

尝试这样的事情:

<script language="C#" runat="server">

答案 1 :(得分:0)

那是MVC,对吧?如模型,视图,控制器?然后,如果您的DLL返回数据集,为什么它与View有关?它不应该最终在模型或ModelView中,并由控制器调用吗?你的javascript代码应该只是在控制器中调用一个方法。

对我来说就像你试图快速控制器一样。

您似乎想要在视图中混合使用服务器和客户端代码,但对我来说,从击败MVC的目的中获得的唯一好处是松散了MVC带来的问题的清晰分离。这不是因为有可能应该做的事情.....