【发布时间】:2013-11-15 02:14:47
【问题描述】:
哪个更好 - 在 ASPX 页面或 CodeBehind 中声明 SqlDataSource?
方法#A。作为程序员,您可以在 .aspx 页面中定义 SqlDataSource,例如:
<asp:SqlDataSource ID="Sql_ID" runat="server" ConnectionString="<%$ ConnectionStrings:Con_Str %>"
SelectCommand="SELECT * FROM [table_name]">
<SelectParameters>
<asp:Parameter Name="user_id"/>
</SelectParameters>
</asp:SqlDataSource>
方法#B。此外,您可以在 C# CodeBehind 中执行此操作
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Con_Str"].ToString()))
{
string qry = SELECT * FROM [table_name];
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
using (SqlCommand cmd = new SqlCommand(qry, conn))
{
cmd.Parameters.Add("@user_id", SqlDbType.UniqueIdentifier).Value = user_id;
da.SelectCommand = cmd;
try
{
conn.Open();
da.Fill(dt);
conn.Close();
}
catch
{
// Do something ;
}
}
}
哪种方法 [A 或 B] 更好?为什么?
【问题讨论】:
-
两者都不理想,最好有一个从代码隐藏调用的
DataAccess类。 -
“更好”意味着在性能/速度、标准编码实践、代码维护、安全等方面更好。
标签: c# asp.net .net sql datasource