ASP.NET에서 작성한 간단한 전자 메일 양식을 codebehind 파일의 논리와 함께 사용합니다. 그것은 모두 C#입니다 (논리는 ...). 어쨌든, 페이지로드에서 나는 다음과 같습니다ASP.NET 폼에서 제출하면 개체 인스턴스에 설정되지 않은 개체 참조가 throw됩니다.
protected void Page_Load(object sender, EventArgs e)
{
RequestorName.Text = Request.Form["UserName"].ToString();
RequestorTitle.Text = Request.Form["JobTitle"].ToString();
RequestorEmail.Text = Request.Form["Email"].ToString();
RequestorPhone.Text = Request.Form["Phone"].ToString();
RequestorAddress1.Text = Request.Form["Address"].ToString();
RequestorAddress2.Text = Request.Form["City"].ToString() + " " + Request.Form["State"].ToString() + ", " + Request.Form["Zip"].ToString();
}
가 손으로 모든 것을 기입 할 필요가 없습니다 그것은 몇 가지 필드에 사용자 정보를 가져옵니다으로이 잘 작동합니다. 뒤에 코드에서
내 다른 2 가지 방법 : 내 양식 페이지에서
protected void SubmitForm_Click(object sender, EventArgs e)
{
SendEmail();
}
protected void SendEmail()
{
try
{
//compose email and send
}
catch (Exception ex)
{
ErrorMessage.Text = "Error: " + ex.ToString();
}
}
버튼 코드는 이것이다 : 나는 양식에 보내기 버튼을 클릭하면
이<center>
<asp:Button runat="server" Text="Submit" ID="Submit" OnClick="SubmitForm_Click" class="button red" />
</center>
오류가 발생하는 전자 메일을 생성하여 보냅니다. Page_Load 코드를 삭제하고 잘 작동하지만 사용자가 많은 정보를 입력 할 필요가 없도록 유지하고 싶습니다. 내 Google 푸를 사용하여 스레드/기사의 톤을 읽을 수는 있지만 해결책을 찾을 수 없습니다했습니다
... 어떤 도움을
감사합니다. IsPostBack을위한
나는 당신이 거기에 NOT을해야 할 수도 있습니다 생각합니다. if (! IsPostBack). 페이지 입력시 필드를 채우고 싶을뿐입니다. – Bill
@Bill 감사합니다. –
와우, 정말 잘 했어! 빠른 수정 및 팁 주셔서 감사합니다. 매일 새로운 것을 배우십시오. 나는 <3 stackoverflow. – Valien