在 C# .net 背后的代码中从我的 SqlDataSource 访问数据

发布于 2024-07-29 19:30:41 字数 350 浏览 6 评论 0原文

我有一个联系页面,其中有人员数据列表,如果您单击其中一个人,您会收到一份联系表格,我想将其发送给该特定人员。

我使用 sqldatasource dscontactemail 获取有关该人的信息并将其放在联系表单上,但是当我准备发送该邮件时,如何从后面的代码中从 dscontactemail 中获取信息?

我在页面上放置了一个表单视图来显示该人的图片,并且我可以使用 <%#Eval("email") 从 dscontactemail 中获取我想要的任何内容,但是如何从后面的代码中获取它?

我尝试了隐藏字段,但没有成功。

还有其他方法可以从后面的代码访问页面上的 SqlDataSource 吗?

I have a contact page where there is a datalist of people and if you click on one of them you get a contact form that I want to send to that particular person.

I use sqldatasource dscontactemail to get information about that person to place on the contact form but how do I get information out of dscontactemail from the code behind for when I'm ready to send that mail?

I put a formview on the page to display the person's picture and I can get whatever I want from that dscontactemail with <%#Eval("email") for example, but how do I get that from the code behind?

I tried a hidden field but it didn't work.

Any other ways to access the SqlDataSource on a page from the code behind?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

汐鸠 2024-08-05 19:30:41

首先,您确实应该在某个时候从使用 SqlDataSource 过渡到 SqlClient 命名空间中可用的类,因此请记住这一点。

这是执行此操作的代码:

DataView dview = CType(yourSqlDataSource.Select(DataSourceSelectArguments.Empty), DataView);
string str = "";

foreach(DataRow drow dview.Table.Rows)
{
    str += drow("yourcol1").ToString() + "<br />";
}

First, you really should graduate from using SqlDataSource to the classes available in the SqlClient namespace at some point so keep that in mind.

Here's the code to do it though:

DataView dview = CType(yourSqlDataSource.Select(DataSourceSelectArguments.Empty), DataView);
string str = "";

foreach(DataRow drow dview.Table.Rows)
{
    str += drow("yourcol1").ToString() + "<br />";
}
回首观望 2024-08-05 19:30:41

以下内容就足够了:

dv = yourSqlDataSource.Select(DataSourceSelectArguments.Empty) as DataView;

并单独询问 DataView。

如果智能感知没有获取 yourSqlDataSource,则只需通过具有数据源的控件的 FindControl() 绑定它:

        SqlDataSource sdsPreStartDates = (SqlDataSource)DetailsView1.FindControl("sdsPreStartDates");
        if (sdsPreStartDates != null)
        {
            DataView dv1 = (DataView)sdsPreStartDates.Select(DataSourceSelectArguments.Empty);
..
.. etc
}

The following is more than sufficient:

dv = yourSqlDataSource.Select(DataSourceSelectArguments.Empty) as DataView;

And interrogate the DataView separately.

If intellisense does not pickup yourSqlDataSource, then simply bind it via the FindControl() of the control that has the data source:

        SqlDataSource sdsPreStartDates = (SqlDataSource)DetailsView1.FindControl("sdsPreStartDates");
        if (sdsPreStartDates != null)
        {
            DataView dv1 = (DataView)sdsPreStartDates.Select(DataSourceSelectArguments.Empty);
..
.. etc
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文