C#TextBox表单电子邮件对象简化

时间:2015-01-30 13:28:08

标签: c#

我有一个包含许多文本框的巨大网页表单,在客户端点击时,数据需要通过电子邮件发送给公司。

目前,我正在编写和连接消息正文并直接引用各种文本框,但是这是很多打字,并且会在改变这些内容时感到痛苦。

string body = "Name: " + tbName.Text + "\n" ...;

所以我把表单放到一个有大量字符串属性和两个bool的对象中(如果需要可以改成字符串)但是我遇到了将所有对象的属性放入单个字符串中的问题体。

等等,

CompanyClass myObj = new CompanyClass();
myObj.Name = tbName.Text;
string body = //where I'm looking to put the object into a function as an  argument.

这来自::

public class CompanyClass
{ 
   public string Name {get;set;}
   public string ...

   public CompanyClass(string nme, ...)
   {
       Name = name;
   }
   public ObjToString(myObj)
   {
      // where I am having issue
   }
}

这可能吗?速度不是问题,因为它只是一种形式。

干杯。

2 个答案:

答案 0 :(得分:1)

反映新课程的属性,并将这些值附加在一起。

foreach(var prop in newObj.GetType().GetProperties()) 
{
    string bodyText = +=  prop.GetValue(newObj, null));

}

答案 1 :(得分:0)

定义字符串格式和文本框对象的数组,使用string.Format( all_obj[i].ToString(), ((TextBox)all_obj[i + 1]).Text )进行循环并收集所有行。类似的东西:

StringBuilder res = new StringBuilder();
object all_obj[] = new object[] { "Name: {0}", tbName, ... };
for ( int i = 0; i < all_obj.Length; i += 2 )
    res.AppendFormat( all_obj[i].ToString(), ((TextBox)all_obj[i + 1]).Text );