哪个是ASP.NET 4中最好的控件/方法来绑定来自单个记录的数据,这是从sql server获取的?我有一些页面来显示文本,所以我需要标题,如标题,发布日期,内容等 - 每个数据的单个标签。当然我可以使用ListView或Repeater,但我想知道是否还有其他方法。
提前致谢
答案 0 :(得分:2)
sqldatareader很好。
您可以创建一个sql-command,然后使用.executereader方法。例如:
dim myReader as SqlDatareader
Dim myCommand As New SqlCommand("myStoredProcedure", myConnection)
With myCommand
.CommandType = CommandType.StoredProcedure
With .Parameters
.Clear()
.AddWithValue("myParameter", parametervalue)
End With
End With
Try
myConnection.open
myReader = myCommand.ExecuteReader
While myReader.Read
Me.myTextBox.Text = myReader("fieldname")
Me.myCheckbox.Checked = myReader("fieldname")
End While
Catch ex As Exception
Response.Write(ex.Message)
Finally
myConnection.Close()
End Try
或其他一些......
答案 1 :(得分:2)
您可以使用DetailsView,它旨在显示单个记录(尽管它通常用于主 - 详细信息方案)。 DetailsView可以使用SqlDatasource。
琐碎的例子:
<asp:SqlDataSource id="slqDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="SELECT * FROM Table" />
<asp:DetailsView id="detailsView1" runat="server"
AutoGenerateRows="true" DataKeyNames="Id"
DataSourceID="sqlDataSource1" />
上面的示例基于SqlDataSource的SelectCommnad创建一个DetailsView。在上面的实现中,由于AutoGenerateRows设置为true,控件将呈现数据。但是,您也可以显式指定字段,并可以选择不同的字段(BoundField,ButtonField,CheckBoxField等)。
答案 2 :(得分:0)
您无法将数据绑定到文本字段。但是,使用类似上面列出的阅读器会产生一堆不必要的开销。为什么不创建一个类? 这样你就可以在你的DAL中获取它,然后在你的BLL中进行一些处理(或转换)。
无论如何我都会这样做。除非您具有约束力,否则不应使用DataReader和DataSet。