如何使用 ASP.NET 从 Select 标记中获取数据并插入到 Input 标记中

Posted

技术标签:

【中文标题】如何使用 ASP.NET 从 Select 标记中获取数据并插入到 Input 标记中【英文标题】:How to get data from Select tag and Insert into Input tag using ASP.NET 【发布时间】:2019-03-04 14:48:57 【问题描述】:

现在我有一个选择标签从数据库中检索文档的所有标题:

string QueryString = "SELECT TITLE FROM DOC";
SqlConnection myconnection = new SqlConnection(ConnectString);
SqlDataAdapter mycommand = new SqlDataAdapter(QueryString,myconnection);
DataSet ds = new DataSet();
mycommand.Fill(ds, "DOC");

test.DataSource = ds;
test.DataTextField = "TITLE";
test.DataValueField = "TITLE";
test.DataBind();

问题是我需要将所有这些数据存储在文本中,以便我可以使用 MailMessage 类并通过电子邮件发送。

有什么想法吗?

【问题讨论】:

你能描述更多吗?你说的所有数据是什么意思?在您的示例中,您只需使用标题并将其绑定到下拉列表,您需要更多信息吗?或者您需要一些结构数据,例如 list?您的最终用户必须至少选择一个标题是否正确? @AlirezaYadegari 我正在创建一个系统,可以选择文档的所有标题并每天通过电子邮件仅发送文档的标题。所以我需要使用 MailMessage 类和 SMTP 客户端来发送。问题是电子邮件的“正文”只接受文本。所以我创建了一个列表框,它从我的数据库中检索所有标题,我需要将从我的列表中收到的所有数据存储在文本中,在我的文本框(输入标签)中,用户没有交互。 好吧,我只是无法理解最后一步,你在服务器上有任何你想要的东西,为什么你需要将所有数据放入文本框中?你可以这样做 string.join(",",datatable.AsEnumerable().select(x => x.Filed("title"))) 现在你有了你的字符串,我需要传递这个字符串作为您的正文消息。如果您有静态模板,我建议创建 html 文件并从 File.ReadAllText 读取它并替换创建我在上面和内部任何您想要的地方描述的字符串。我理解你的问题吗? 【参考方案1】:

您可以将DataSet转换为列表

var titleList = ds.Tables[0].AsEnumerable()
.Select(dr => new Name = dr.Field<string>("TITLE")).ToList();

然后你可以将它连接成单个字符串:

var titles = titleList.Aggregate((current, next) => current + ", " + next);

【讨论】:

谢谢你的回答,我只是没看懂这部分:(current, next) => current + ", " + next); 据我了解,您需要获取包含所有标题的字符串。聚合连接列表中的所有字符串值。您可以在这里阅读详细说明***.com/questions/7105505/…

以上是关于如何使用 ASP.NET 从 Select 标记中获取数据并插入到 Input 标记中的主要内容,如果未能解决你的问题,请参考以下文章

无法在 ASP.NET MVC 5 中从视图到控制器获取 Select2 标记值

SqlDataSource.Select()?我该如何使用它? (ASP.net)

如何从后面的 asp.net 代码中获取 Select2 值

使用 Select2 ASP.NET MVC 时进行不显眼的验证

如何对asp.net mvc 4中的select2字段进行强制字段验证

从 ASP Net Web API POST 请求中删除空的 xml 标记