asp.net c#中SQLDATASOURCE的常用参数

Common parameters for SQLDATASOURCE in asp.net c#

我的 Sql 数据源的 Insert 和 Update 参数相同。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnStr %>" 
             <InsertParameters>
                    <asp:Parameter Name="id" Type="Int32" />
                    <asp:Parameter Name="startdt" Type="DateTime" />
                    <asp:Parameter Name="enddt" Type="DateTime" />
                    <asp:Parameter Name="title" Type="String" />
                    <asp:Parameter Name="detail" Type="String" />
                </InsertParameters>
                <UpdateParameters>
                    <asp:Parameter Name="id" Type="Int32" />
                    <asp:Parameter Name="startdt" Type="DateTime" />
                    <asp:Parameter Name="enddt" Type="DateTime" />
                    <asp:Parameter Name="title" Type="String" />
                    <asp:Parameter Name="detail" Type="String" />                    
                </UpdateParameters>

在后面的代码中,我必须根据插入或更新来编写:

SqlDataSource1.InsertParameters["Title"].DefaultValue = "Title"

SqlDataSource1.UpdateParameters["Title"].DefaultValue = "Title" 

有很多重复的内容。我想知道是否有一种方法可以消除 aspx(相同参数)和代码隐藏中的相同重复行。这将节省大量时间,还有助于减少错误。

两者都 InsertParameters and UpdateParameters are parameters of the ParameterCollection class。

所以你可以有一个辅助函数来设置所有的通用参数。根据您问题中的代码片段,辅助函数可以是:

using System.Web.UI.WebControls;

public void SetCommonParameters(ParameterCollection params)
{
    params["Title"].DefaultValue = "Title";
    // add all common parameters
}

当你插入时调用:

SetCommonParameters(SqlDataSource1.InsertParameters);

当你进行更新时调用:

SetCommonParameters(SqlDataSource1.UpdateParameters);