如何扩展类对象

时间:2014-12-11 08:03:50

标签: c# asp.net class ado.net

我想要做到这一点,所以我过度简化了它。

按原样,这将在所有三个文本框中返回空值。

我知道“foreach”不正确。

有人可以告诉我如何扩展类对象。

Default.aspx.cs

    protected void Button1_Click(object sender, EventArgs e)
    {
        List<dataclass> returnedData = Getdata();
        foreach (var dataclass0 in returnedData)
        {
            TextBox1.Text = dataclass0.item1;
            TextBox2.Text = dataclass0.item2;
            TextBox3.Text = dataclass0.item3;
        }
    }
    public static List<dataclass> Getdata()
    {
        List<dataclass> returndata = new List<dataclass>();
        dataclass dc = new dataclass();
        dc.item1 = "a";
        dc.item2 = "b";
        dc.item3 = "c";
        returndata.Add(dc);
        return returndata;
    }

的Class1.cs

public class dataclass
{
    public string item1 { get; set; }
    public string item2 { get; set; }
    public string item3 { get; set; }
}

1 个答案:

答案 0 :(得分:1)

以下代码将构建3个字符串(每个TextBox一个),然后将它们分配给相应的Text属性。 它使用StringBuilder来优化连接。 AppendLine有助于将不同的连接值保持分开:.Replace(Environment.NewLine, ", ")稍后会用“,”替换换行符;如果您不需要将值分开,只需删除.Replace(Environment.NewLine, ", ")并将AppendLine替换为Append

protected void Button1_Click(object sender, EventArgs e)
{
    var sbText1 = new StringBuilder();
    var sbText2 = new StringBuilder();
    var sbText3 = new StringBuilder();

    var returnedData = Getdata();
    foreach (var dataclass0 in returnedData)
    {
        sbText1.AppendLine(dataclass0.item1);
        sbText2.AppendLine(dataclass0.item2);
        sbText3.AppendLine(dataclass0.item3);
    }

    TextBox1.Text = sbText1.ToString().Replace(Environment.NewLine, ", ");
    TextBox2.Text = sbText2.ToString().Replace(Environment.NewLine, ", ");
    TextBox3.Text = sbText3.ToString().Replace(Environment.NewLine, ", ");
}

此致 丹尼尔。