我正在为ASP.NET中的公司编写在线RMA表单。他们非常谨慎地向客户询问过多信息,因此所有文本框复选框和下拉列表都是可选的,包括联系信息。我不认为这是明智的,但这是他们想做的事情。
我已经编写了允许这样做的代码,但我也希望能够很好地格式化我将通过用户的电子邮件和电子邮件发送的电子邮件。组织,如果他们提供。我的问题是,是否有"默认"电子邮件地址我可以或应该使用我的服务技术人员知道没有与表单相关的电子邮件?我怀疑答案只是我们公司在这里达成的一致意见,但有一个默认的非用户输入电子邮件地址,并且#34;每个人"在开发社区使用?有点像" lorem ipsum ..."作为电子邮件而不是文本的占位符的条目类型。
这是我做出决定的代码:
var orgName = dv_contactInfo.Rows[2].Cells[1].Controls[0] as TextBox;
var orgEmail = dv_contactInfo.Rows[11].Cells[1].Controls[0] as TextBox;
MailMessage msg = new MailMessage { From = String.IsNullOrEmpty(orgEmail.Text) ?
new MailAddress("No email specified") :
new MailAddress(orgEmail.Text)};
msg.To.Add("service@mycompany.com");
msg.Subject = orgName != null ?
"Service Request from " +
orgName.Text :
"Service Request from unspecified organization";
不出所料,new MailAddress("No email specified")
会引发异常,因为它不是电子邮件形式。我也意识到这不是一个真正的编程问题,但我甚至不知道如何提出问题来尝试谷歌。
现在我已经考虑过了,我可能会查看电子邮件和电话条目以确保其中至少有一个已填写,如果我们无法启动,则会弹出Javascript警报联系他们强迫他们给我们联系方式。
答案 0 :(得分:2)
从用户体验的角度来看,我认为在RMA表单上询问联系信息并不合理。
但是,有关原始问题的几点说明:
很简单的例子:
bool usingDefaultEmail = false;
if( email == null ){
// get an email for your service department
ConfigurationSettings.AppSettings["DefaultRmaEmailAddress"];
usingDefaultEmail = true;
}
// Logic here to append a warning to the body of the email that the customer
// didn't provide an email address. This way, someone knows that a higher-risk
// transaction has just occurred. They may also choose to contact the customer
// and verbally collect an email address.
答案 1 :(得分:1)
您应该在发送之前有条件地检查电子邮件是否存在。使用“占位符”值是不好的做法。