什么';在asp.net 4.0中,将sqldatasource绑定到asp:label的正确方法是什么?
可以使用Eval吗?如果是这样的话,有人能发一个简短的片段来说明吗?我的SqlDataSource返回1条记录和3个字段,我想将它们格式化为字符串。例如: 记录 字段“Name”=“Jack” 字段“金额”=100 字段“日期”=12.02.2010 asp:标签文本最终应为: 欢迎杰克,最后一次付款是2010年2月12日的100英镑什么';在asp.net 4.0中,将sqldatasource绑定到asp:label的正确方法是什么?,.net,asp.net,asp.net-4.0,.net,Asp.net,Asp.net 4.0,可以使用Eval吗?如果是这样的话,有人能发一个简短的片段来说明吗?我的SqlDataSource返回1条记录和3个字段,我想将它们格式化为字符串。例如: 记录 字段“Name”=“Jack” 字段“金额”=100 字段“日期”=12.02.2010 asp:标签文本最终应为: 欢迎杰克,最后一次付款是2010年2月12日的100英镑 如果asp:Label之外的另一个控件是合适的,那么最好也知道。Label是用于显示内容的正确控件,但SqlDataSource可能不是用于获取数据的正确控件。标
如果asp:Label之外的另一个控件是合适的,那么最好也知道。Label是用于显示内容的正确控件,但SqlDataSource可能不是用于获取数据的正确控件。标签没有DataSourceID属性,允许您将控件关联在一起-虽然您可以在服务器端代码中执行一些管道操作以使其工作,但我怀疑在页面加载期间获取相关数据行会更有效,构建字符串,然后将其放入标签的文本属性。感谢您的帮助,这是我的解决方案(要执行的错误检查,欢迎评论):
抱歉,澄清一下,这是绑定到asp:标签,它不是数据容器(如GridView)的一部分。只需要一个简单的asp:标签谢谢-你的意思是用DAO打开数据库并手动执行查询吗?columnNames没有使用-是上一次迭代的遗留问题。
private void DataSourceIntoLabel(Label label,
SqlDataSource dataSource,
ParameterCollection parameters,
string formatString,
string[] columnNames)
{
dataSource.SelectParameters.Clear();
foreach (System.Web.UI.WebControls.Parameter p in parameters)
{
dataSource.SelectParameters.Add(p);
}
IEnumerable rows = dataSource.Select(DataSourceSelectArguments.Empty);
IEnumerator enumerator = rows.GetEnumerator();
enumerator.MoveNext();
DataRowView rowView = (DataRowView)enumerator.Current;
label.Text = string.Format(formatString, rowView.Row.ItemArray);
}