我有一个带有各种输入的表单,其中一些使用“标题”属性将提示文本放入输入中。提交表单时,会发送一封电子邮件,其中包含每个输入的值。但是,如果该字段尚未填写,它将使用标题作为值。我可以检查一个空字段并手动删除该值,如下所示:
if (a_eventSelect.Attributes["title"] == a_eventSelect.Value)
{
a_eventSelect.Value = "";
}
这样做的问题是,如果表单有许多输入检查每个输入可能会变得不必要的麻烦。我开始制作一个函数来检查每个控件并清除它是否为空。
protected void Page_Load(object sender, EventArgs e)
{
//initialize
base.Initialize();
//on reload of page
if (IsPostBack)
{
//clear blank values
clear(mainform);
//send email
SendEmail();
//display thank you
thankyou.Visible = true;
//hide main
main.Visible = false;
}
}
public void clear(Control location)
{
//for each control in location
foreach (Control c in location.Controls)
{
//if the control has child controls
if (c.HasControls())
{
//call function with new location
clear(c);
}
//some code to check value and title
}
}
我似乎无法弄清楚如何获取每个控件并实际比较它的标题和值,甚至在函数中更改它的值。有没有人知道什么可能会有所帮助?提前致谢。