我是一个绝对的ASP新手,但有一个非常强大的PHP / python背景,所以请耐心等待。 C#类通过串行连接与物理称重秤对话并获取权重(这部分非常适合作为写入控制台的独立.exe)。但是,我不知道如何使用这个有效的C#类并在我的ASP网页中使用它?
我有一个.cs文件,如下所示:
using System;
using System.IO.Ports;
namespace AppNamespace {
public class App
{
static string _somevalue;
public static string AppDoSomething()
{
// Do some serial port stuff
_somevalue = "Hello World or some other value";
return _somevalue;
}
}
}
这个类工作得很好并且做了它应该做的事情,我已经导出了项目并创建了一个.dll库并将它放在网站的“bin”文件夹中。
现在如何在我的网页中使用“AppDoSomething()”功能?使用PHP,我会做类似以下的事情:
<?php
$value = AppNamespace\App::AppDoSomething();
echo $value;
?>
如何使用ASP完成同样的事情?我喜欢用C#编写,但不了解如何将C#类,函数与基于asp的网页集成,并使用它们。
答案 0 :(得分:1)
如果您正在使用ASP.NET MVC(几乎可以让您将C#代码放入视图中而没有任何大问题),您可以引用您已创建的DLL并通过它调用它c#代码。
您可以将其放在视图中,也可以从控制器中的dll读取并将结果粘贴到viewbag中(然后可以从视图中引用)。
答案 1 :(得分:1)
Web Forms的方式就是这样......
<强> MyPage.aspx 强>
<asp:Literal runat="server" id="MyLiteral" />
<强> MyPage.aspx.cs 强>
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
MyLiteral.Text=AppNamespace.App.AppDoSomething();
}
}
虽然略微更加PHPish,但你可以内联。但是你的缺点是你之后无法真正改变它。
<强> MyPage.aspx 强>
<%= AppNamespace.App.AppDoSomething() %>