1

使用:ASP.NET 4、SQL 2008、C#

我正在为我们的项目团队编写一个网络应用程序来跟踪特殊的项目用户。他们要求的一件事是导出他们经常使用的数据的快速列表。例如,我在这里要做的是给团队一个按钮,该按钮将使用保存在我们的 SQL 数据库中的所有各种电子邮件地址填充一个文本框。

我一直在尝试做的是将 TextBox 绑定到数据库中的特定列。我已经与数据库建立了连接,并且我已经构建了一个查询该特定列的数据集,并且它可以正常工作。

我的问题是,我如何告诉 ASP.NET 使用 DataSet 中的数据来填充文本框?这是我目前正在使用的代码:

protected void btnGetNPMEmailAddresses_Click(object sender, EventArgs e)
    {
    txbResults.Text = "";
    txbResults.DataBind(ObjectDataSource_Designee_EmailAddresses) // ??? My DataSet
    }

我肯定在爬上 C# 学习曲线。任何帮助将不胜感激!

谢谢,保罗 D。

4

4 回答 4

0

尝试这样的事情:

protected void btnGetNPMEmailAddresses_Click(object sender, EventArgs e)
{
    // TODO:: Populate ObjectDataSource_Designee
    DataSet dataSet = GetDS(ObjectDataSource_Designee);

    string emails = string.Empty;
    for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
    {
        emails = emails + dataSet.Tables[0].Rows[i]["EmailAddresses"].ToString() + Environment.NewLine;
    }
    txbResults.Text = emails;
}

private DataSet GetDS(ObjectDataSource ods)
{
    var ds = new DataSet();
    var dv = (DataView)ods.Select();
    if (dv != null && dv.Count > 0)
    {
        var dt = dv.ToTable();
        ds.Tables.Add(dt);
    }
    return ds;
}
于 2012-05-15T20:03:39.957 回答
0

您不能数据绑定到 ASP.Net 中的文本框。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox_properties

没有 DataSource 属性。您可以手动浏览并抓取数据集中的内容并将其放入文本框中,但不能绑定它。你是说文本框吗?

于 2012-05-15T19:53:35.753 回答
0

假设您只从数据库中返回一行和一列,您可以执行以下操作:

txbResults.Text = dataSet.Tables[0].Rows[0].Cols[0].ToString();

我的建议是使用只返回一个值的“ExecuteScalar()”方法,而不是使用 DataAdapter/Dataset。

希望这可以帮助!!

于 2012-05-15T19:54:04.703 回答
0

我会说

 foreach(DataRow dr in DataTable)
  {
    Textbox.Text = Textbox.Text + dr;
  }

如果由于某种原因您必须使用文本框

于 2012-05-15T19:56:18.057 回答