asp.net 닷넷으로 개발을 하게 되면, 자연스럽게 코드비하인드(Code Behind) 를 사용하게 된다.
즉, aspx 파일과, aspx.cs 파일에 나누어서 코딩을 하게 된다.
그러나, 가끔은 aspx 파일 한 개로만 코드를 작성하고자 할 경우가 생길 수 있다.
이때, 코딩법을 알아 보자.
1. 우선, 새 항목 추가시에 '다른 파일에 코드 입력'을 체크하고 웹폼을 생성해 본다.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
2. 다음, 새 항목 추가시에 '다른 파일에 코드 입력'을 체크하지 않고 웹폼을 생성해 본다.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
와 같이 aspx 파일이 생성이 되는데,
다른파일에코드입력을 사용할 때와의 차이점은 상단 정의부와 <script runat="server"></script> 이 부분이다.
결론부터 말하자면,
이 <script runat="server"></script> 안에 apsx.cs 파일의 내용을 적으면 된다.
물론, 그대로 넣으면 안되고 class 안의 코드만 넣으면 된다.
3. 그렇게 aspx 파일을 완성시켜 보면,
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string str;
protected void Page_Load(object sender, EventArgs e)
{
str = Request["str"];
Response.Write(str + "<br>");
Response.End();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
이런 식으로 작성하면 된다.
* 참고