2014-03-18 2 views
0

나는 절대 ASP 초보자이지만 PHP/python 배경이 매우 강하기 때문에 나와 함께하시기 바랍니다. C# 클래스는 직렬 연결을 통해 물리적 인 가중치 규모로 이야기하고 가중치를 부여합니다 (이 부분은 콘솔에 쓰는 독립 실행 형 .exe로 잘 작동 함). 그러나,이 작업 C# 클래스를 가져 와서 내 ASP 웹 페이지에서 사용하는 방법을 잘 모르겠습니다.ASP 웹 페이지의 C# 클래스에서 반환 된 값을 사용하는 방법

나는이처럼 보이는 .cs 파일이 :이 클래스는 잘 작동하고이에 가정이고, 나는이 프로젝트를 수출하고 .DLL 라이브러리를 생성하고 그것을 넣어 한 것을 수행

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; 
      } 
    } 
} 

웹 사이트의 "bin"폴더에 있습니다.

이제 웹 페이지에서 "AppDoSomething()"기능을 어떻게 사용합니까? PHP를 사용하면 다음과 같이했을 것입니다 :

<?php 
$value = AppNamespace\App::AppDoSomething(); 
echo $value; 
?> 

어떻게하면 ASP를 사용하여 동일한 작업을 수행 할 수 있습니까? 나는 C#으로 글쓰기를 좋아하지만, C# 클래스를 통합하고, asp 기반 웹 페이지와 함께 함수를 통합하고, 사용하는 방법을 이해하지 못한다.

+2

, 당신은 DLL에 대한 참조를 추가 할 수 있습니다 다음 ASP 사이트의 서버 측 코드에서 AppNamespace.App.AppDoSomething 같은 기능을()에 액세스 . –

+0

dll이 bin 폴더에 있습니다. 네임 스페이스/클래스/함수 @MehbubeArman에 액세스하려고하면 asp 페이지가 오류를 반환합니다. –

답변

1

이런 일을하여야 할 웹 양식 방법 ...

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하지만 , 당신은 이것을 인라인으로 할 수 있습니다. 그러나 그 후에는 나중에 변경할 수 없다는 단점이 있습니다. 당신이 DLL을 만들 수 있다면

MyPage.aspx

<%= AppNamespace.App.AppDoSomething() %> 
+0

감사! 이것이 제가 찾고 있던 것입니다. 다른 언어에서 오는 ASP는 이상하게 보입니다. –

+0

학교에서 나는 PHP와 Java Server Pages를 배웠다. 저는 작업을 위해 ASP.NET을 배웠고 .NET Framework의 힘을 정말 고맙게 생각합니다. 물론. standalone .php 파일을 수정하는 것보다 오버 헤드가 약간 더 많지만 일단 사용을 시작하면 이점을 볼 수 있습니다. – mason

1

ASP.NET MVC를 사용하는 경우 (큰 문제없이 뷰에 C# 코드를 넣을 수 있음) 작성한 DLL에 대한 참조를 만들고 C# 코드를 통해 호출 할 수 있습니다.

뷰에 넣을 수도 있고 컨트롤러에서 dll을 읽는 작업을 수행하여 뷰백에 결과를 저장할 수도 있습니다 (뷰에서 참조 할 수 있음).

+0

전체 ASP 멍청한 놈이라는 것을 명심하십시오. <% = AppNamespace.App.SomeFunction() %> 권리? 난 그냥 내 ASP/HTML 페이지 CS 함수에서 값을 인쇄 할 - 어떻게 내가 .dll을 참조할까요? –

+1

솔직히 웹폼에서 어떻게 할 수 있을지 모르겠습니다. 나는 MVC 프레임 워크 (관심, 가독성 등의 분리의 견지에서 훨씬 더 위생적이다)를 사용하여 웹 폼을 건너 뛰었습니다. –

+0

빈 페이지에 값을 "반향"시키기를 바랬습니다 ... 간단한 값을 얻기 위해 전체 응용 프로그램을 만드는 모든 작업을 실제로 수행해야합니다. .exe로 C# 파일을 컴파일하면 완벽하게 작동합니다 (콘솔에 쓰는 것만으로). 이것이 내가 항상 피하는 이유라고 생각합니다. .net/asp - 전체 응용 프로그램을 만들 필요없이 간단한 작업 만 수행하고 싶습니다. 복잡하게 끝난 것 같아요. PHP에서는 그냥 . 또한 .dll을 Xamarin에 구축하고 있는데, Visual Studio 또는 모든 Microsoft 컴파일러가 설치되어 있지 않습니다. –

관련 문제