gpt4 book ai didi

c# - 哪个更好 - 在 ASPX 页面或代码隐藏中声明 SqlDataSource?

转载 作者:行者123 更新时间:2023-11-30 18:54:44 25 4
gpt4 key购买 nike

在 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] 更好?为什么?

最佳答案

两者都不是。最好的办法是将数据访问与 UI 完全分离(分离到一个单独的项目,或者至少是命名空间,这样您就可以在需要时轻松交换各种实现)。然后,在您的代码隐藏中,只需引用公开的存储库并进行绑定(bind)。但是您页面的代码隐藏不应包含任何数据访问。

例如尝试对 3 层架构进行一些研究。除非它是一个非常基本的应用程序,否则您应该学习如何将它分成多个层。

关于c# - 哪个更好 - 在 ASPX 页面或代码隐藏中声明 SqlDataSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19768094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com