我有一个包含许多文本框的巨大网页表单,在客户端点击时,数据需要通过电子邮件发送给公司。
目前,我正在编写和连接消息正文并直接引用各种文本框,但是这是很多打字,并且会在改变这些内容时感到痛苦。
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
}
}
这可能吗?速度不是问题,因为它只是一种形式。
干杯。
答案 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 );