programing

뒤에 코드가 없는 ASP.net 페이지

muds 2023. 6. 15. 22:09
반응형

뒤에 코드가 없는 ASP.net 페이지

뒤에 C# 코드가 있는 ASP.Net 페이지가 있습니다.

그러나 SharePoint에서 배포하기 쉽도록 뒤에 있는 코드를 사용하지 말라는 요청을 받았습니다.

파일 뒤에 별도의 코드를 사용하지 않고 ASP.Net 페이지에 C# 코드를 포함하는 방법이 있습니까?

기본적으로 Sharepoint는 ASPX 파일에서 서버 측 코드가 실행되는 것을 허용하지 않습니다. 문제를 해결하는 방법은 여기를 참조하십시오.

그러나 코드백을 Sharepoint에 배포하는 것이 반드시 어려운 것은 아닙니다. 코드백 클래스를 어셈블리로 컴파일하고 솔루션을 사용하여 배포하기만 하면 됩니다.

그래도 안 되면 다음과 같은 코드 뒤에 일반적으로 배치하는 모든 코드를 포함할 수 있습니다.

<script language="c#" runat="server">
public void Page_Load(object sender, EventArgs e)
{
  //hello, world!
}
</script>

실제로 모든 코드를 aspx 페이지에 저장할 수 있습니다.여기에 설명된 바와 같이.

여기서 샘플:

<%@ Language=C# %>
<HTML>
   <script runat="server" language="C#">
   void MyButton_OnClick(Object sender, EventArgs e)
   {
      MyLabel.Text = MyTextbox.Text.ToString();
   }
   </script>
   <body>
      <form id="MyForm" runat="server">
         <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
         <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
         <asp:label id="MyLabel" runat="server"></asp:label>
      </form>
   </body>
</HTML>

예, aspx 페이지에 runat=server가 포함된 스크립트 태그를 포함합니다.

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

public void Page_Load(object sender, EventArgs e)
{
  // some load code
}
</script>

기존 ASP 구문을 사용할 수도 있습니다.

<% if (this.MyTextBox.Visible) { %>
<span>Only show when myTextBox is visible</span>
<% } %>

쉐어포인트에는 애플리케이션 페이지와 사이트 페이지라는 두 가지 매우 다른 유형의 페이지가 있습니다.

페이지를 응용프로그램 페이지로 사용하려는 경우 응용프로그램 페이지가 파일 시스템에 있으므로 페이지 뒤에 있는 인라인 코드 또는 코드를 안전하게 사용할 수 있습니다.

사이트 페이지인 경우 초기 배포에서 인라인 코드를 안전하게 작성할 수 있습니다.그러나 나중에 사용자 정의된 사이트 페이지가 데이터베이스에 저장되고 asp.net 의 "no compile" 모드에서 실행되므로 사용자 정의된 사이트 페이지가 더 이상 사용자 정의되지 않습니다.

결론은 - 인라인 코드로 x 페이지를 작성할 수 있습니다.유일한 문제는 맞춤형 사이트 페이지입니다...더 이상 인라인 코드를 사용하지 않습니다.

파일: logdate.aspx

<%@ Page Language="c#" %>
<%@ Import namespace="System.IO"%>
<%

StreamWriter tsw = File.AppendText(@Server.MapPath("./test.txt"));
tsw.WriteLine("--------------------------------");
tsw.WriteLine(DateTime.Now.ToString());

tsw.Close();
%>

Done

DLL이 휴지통에 있는 한 .aspx.cs 없이 .aspx 페이지만 배포할 수 있다고 생각했습니다.여기서 문제의 일부는 비주얼 스튜디오 .net이 .aspx 페이지와 어떻게 작동하는지에 대한 것입니다.

여기에서 확인하십시오. Visual Studio .NET에서 단일 파일양식 페이지 작업

asp.net MVCRC가 설치된 VS2008에는 보기에 대한 코드백 파일이 없다는 것을 잘 알고 있습니다.

언급URL : https://stackoverflow.com/questions/563585/asp-net-page-without-a-code-behind

반응형