Tailspin Spyworks는 .NET 플랫폼에 대해 강력하고 확장 가능한 애플리케이션을 만드는 것이 얼마나 간단한지 보여줍니다. ASP.NET 4의 새로운 기능을 사용하여 쇼핑, 체크 아웃 및 관리를 포함한 온라인 스토어를 구축하는 방법을 보여줍니다.
이 자습서 시리즈에서는 Tailspin Spyworks 샘플 애플리케이션을 빌드하기 위해 수행된 모든 단계를 자세히 설명합니다. 8부에서는 연락처 페이지, 페이지 정보 및 예외 처리를 추가합니다. 이것은 시리즈의 결론입니다.
연락처 페이지(ASP.NET 전자 메일 보내기)
ContactUs.aspx라는 새 페이지 만들기
디자이너를 사용하여 AjaxControlToolkit의 ToolkitScriptManager 및 편집기 컨트롤을 포함하도록 특별한 메모를 작성하는 다음 양식을 만듭니다. .
"제출" 단추를 두 번 클릭하여 코드 숨김 파일에서 클릭 이벤트 처리기를 생성하고 연락처 정보를 전자 메일로 보내는 메서드를 구현합니다.
protected void ImageButton_Submit_Click(object sender, ImageClickEventArgs e)
{
try
{
MailMessage mMailMessage = new MailMessage();
mMailMessage.From = new MailAddress(HttpUtility.HtmlEncode(TextBoxEmail.Text));
mMailMessage.To.Add(new MailAddress("Your Email Here"));
// mMailMessage.Bcc.Add(new MailAddress(bcc));
// mMailMessage.CC.Add(new MailAddress(cc));
mMailMessage.Subject = "From:" + HttpUtility.HtmlEncode(TextBoxYourName.Text) + "-" +
HttpUtility.HtmlEncode(TextBoxSubject.Text);
mMailMessage.Body = HttpUtility.HtmlEncode(EditorEmailMessageBody.Content);
mMailMessage.IsBodyHtml = true;
mMailMessage.Priority = MailPriority.Normal;
SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.Send(mMailMessage);
LabelMessage.Text = "Thank You - Your Message was sent.";
}
catch (Exception exp)
{
throw new Exception("ERROR: Unable to Send Contact - " + exp.Message.ToString(), exp);
}
}
이 코드를 사용하려면 web.config 파일에 메일을 보내는 데 사용할 SMTP 서버를 지정하는 항목이 구성 섹션에 포함되어야 합니다.
<system.net>
<mailSettings>
<smtp>
<network
host="mail..com"
port="25"
userName=""
password="" />
</smtp>
</mailSettings>
</system.net>
페이지 정보
AboutUs.aspx라는 페이지를 만들고 원하는 콘텐츠를 추가합니다.
전역 예외 처리기
마지막으로 애플리케이션 전체에서 예외를 throw했으며 콜드가 웹 애플리케이션에서 처리되지 않은 예외를 유발하는 예기치 않은 상황이 있습니다.
웹 사이트 방문자에게 처리되지 않은 예외가 표시되지 않도록 합니다.
처리되지 않은 예외가 끔찍한 사용자 환경인 것 외에도 보안 문제가 될 수 있습니다.
이 문제를 해결하기 위해 전역 예외 처리기를 구현합니다.
이렇게 하려면 Global.asax 파일을 열고 다음과 같이 미리 생성된 이벤트 처리기를 확인합니다.
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
다음과 같이 Application_Error 처리기를 구현하는 코드를 추가합니다.
void Application_Error(object sender, EventArgs e)
{
Exception myEx = Server.GetLastError();
String RedirectUrlString = "~/Error.aspx?InnerErr=" +
myEx.InnerException.Message.ToString() + "&Err=" + myEx.Message.ToString();
Response.Redirect(RedirectUrlString);
}
그런 다음 Error.aspx라는 페이지를 솔루션에 추가하고 이 태그 조각을 추가합니다.
<center>
<div class="ContentHead">ERROR</div><br /><br />
<asp:Label ID="Label_ErrorFrom" runat="server" Text="Label"></asp:Label><br /><br />
<asp:Label ID="Label_ErrorMessage" runat="server" Text="Label"></asp:Label><br /><br />
</center>
이제 Page_Load 이벤트 처리기에서 Request 개체에서 오류 메시지를 추출합니다.
protected void Page_Load(object sender, EventArgs e)
{
Label_ErrorFrom.Text = Request["Err"].ToString();
Label_ErrorMessage.Text = Request["InnerErr"].ToString();
}
결론
ASP.NET WebForms를 사용하면 데이터베이스 액세스, 멤버 자격, AJAX 등을 사용하여 정교한 웹 사이트를 쉽게 만들 수 있습니다. 꽤 빨리.
이 자습서를 통해 고유한 ASP.NET WebForms 애플리케이션 빌드를 시작하는 데 필요한 도구를 제공해 주셨으면 합니다.