C# 如何将参数值发送到.cs文件到entity designer.cs文件

C# 如何将参数值发送到.cs文件到entity designer.cs文件,c#,asp.net,sql-server,C#,Asp.net,Sql Server,在TaskReportPage.aspx页面中,我有startdate、enddate、下拉列表和一个下载按钮 代码如下所示: <fieldset> <legend>Enter The Details To Download Report</legend> <div class="label"> Start Date :<asp:TextBox runat="server" ID="txtStartDate"

TaskReportPage.aspx页面中,我有startdate、enddate、下拉列表和一个下载按钮

代码如下所示:

 <fieldset>
    <legend>Enter The Details To Download Report</legend>
    <div class="label">
        Start Date :<asp:TextBox runat="server" ID="txtStartDate" />
    </div>
    <div class="label">
        End Date:
        <asp:TextBox runat="server" ID="txtEndDate"></asp:TextBox>
    </div>
    <div class="label">
        Employee Name:
        <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="AllRecords">All Records</asp:ListItem>
        </asp:DropDownList>
    </div>
    <div>
        <asp:Button ID="btndisplay" runat="server" Text="View Report" OnClick="btndisplay_Click">
        </asp:Button>
        <asp:Button runat="server" ID="Download" align="center" Text="Download" OnClick="Download_Click">
        </asp:Button>
    </div>
    <div class="value">
        <asp:Label ID="lblMessage" runat="server" Visible="false" Style="color: Red"></asp:Label>
    </div>
</fieldset>
ALTER PROCEDURE [dbo].[RetriveDatatable]  
(  
    @StartDate datetime,
    @EndDate datetime,
    @Dropdown varchar(50),
    @ID INT
)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here

    SELECT Day, t.CreatedDate, Description, Hour, Firstname
    FROM tbl_TaskType t, tbl_UserDetails u
    WHERE t.CreatedDate BETWEEN '@StartDate' AND '@EndDate'
    AND u.ID=(SELECT ID FROM tbl_UserDetails WHERE FirstName=@Dropdown);
END
我编写了一个存储过程,用于从数据库中检索值,如下所示:

 <fieldset>
    <legend>Enter The Details To Download Report</legend>
    <div class="label">
        Start Date :<asp:TextBox runat="server" ID="txtStartDate" />
    </div>
    <div class="label">
        End Date:
        <asp:TextBox runat="server" ID="txtEndDate"></asp:TextBox>
    </div>
    <div class="label">
        Employee Name:
        <asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="AllRecords">All Records</asp:ListItem>
        </asp:DropDownList>
    </div>
    <div>
        <asp:Button ID="btndisplay" runat="server" Text="View Report" OnClick="btndisplay_Click">
        </asp:Button>
        <asp:Button runat="server" ID="Download" align="center" Text="Download" OnClick="Download_Click">
        </asp:Button>
    </div>
    <div class="value">
        <asp:Label ID="lblMessage" runat="server" Visible="false" Style="color: Red"></asp:Label>
    </div>
</fieldset>
ALTER PROCEDURE [dbo].[RetriveDatatable]  
(  
    @StartDate datetime,
    @EndDate datetime,
    @Dropdown varchar(50),
    @ID INT
)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here

    SELECT Day, t.CreatedDate, Description, Hour, Firstname
    FROM tbl_TaskType t, tbl_UserDetails u
    WHERE t.CreatedDate BETWEEN '@StartDate' AND '@EndDate'
    AND u.ID=(SELECT ID FROM tbl_UserDetails WHERE FirstName=@Dropdown);
END
我正在将此存储过程导入到Eye1.designer.cs文件中:

此文件遵循实体框架过程

它看起来像:

public int RetriveDatatable(Nullable<global::System.Int32> userID, Nullable<global::System.DateTime> startDate, Nullable<global::System.DateTime> endDate, global::System.String dropdown = dropdowntParameter1)
{
    ObjectParameter userIDParameter;
    if (userID.HasValue)
    {
        userIDParameter = new ObjectParameter("UserID", userID);
    }
    else
    {
        userIDParameter = new ObjectParameter("UserID", typeof(global::System.Int32));
    }

    ObjectParameter startDateParameter;
    if (startDate.HasValue)
    {
        startDateParameter = new ObjectParameter("StartDate", startDate);
    }
    else
    {
        startDateParameter = new ObjectParameter("StartDate", typeof(global::System.DateTime));
    }

    ObjectParameter endDateParameter;
    if (endDate.HasValue)
    {
        endDateParameter = new ObjectParameter("EndDate", endDate);
    }
    else
    {
        endDateParameter = new ObjectParameter("EndDate", typeof(global::System.DateTime));
    }

    ObjectParameter dropdowntParameter;
    if (dropdown != null)
    {
        dropdowntParameter = new ObjectParameter("Dropdown", dropdown);
    }
    else
    {
        dropdowntParameter = new ObjectParameter("Dropdown", typeof(global::System.String));
    }

    return base.ExecuteFunction("RetriveDatatable", userIDParameter,startDateParameter, endDateParameter, dropdowntParameter);
}
public int retrieveDataTable(可为null的userID、可为null的startDate、可为null的endDate、global::System.String dropdown=dropdowntParameter1)
{
ObjectParameter用户IDParameter;
if(userID.HasValue)
{
userIDParameter=新的ObjectParameter(“UserID”,UserID);
}
其他的
{
userIDParameter=newObjectParameter(“UserID”,typeof(global::System.Int32));
}
ObjectParameter startDateParameter;
if(起始日期HasValue)
{
startDateParameter=新对象参数(“StartDate”,StartDate);
}
其他的
{
startDateParameter=newObjectParameter(“StartDate”,typeof(global::System.DateTime));
}
ObjectParameter endDateParameter;
if(endDate.HasValue)
{
endDateParameter=新对象参数(“EndDate”,EndDate);
}
其他的
{
endDateParameter=newObjectParameter(“EndDate”,typeof(global::System.DateTime));
}
对象参数下拉参数;
如果(下拉菜单!=null)
{
dropdowntParameter=新对象参数(“Dropdown”,Dropdown);
}
其他的
{
dropdowntParameter=新的ObjectParameter(“Dropdown”,typeof(global::System.String));
}
返回base.ExecuteFunction(“RetrieveDataTable”、userIDParameter、startDateParameter、endDateParameter、dropdowntParameter);
}
最后,我的问题是,我想将startdate、enddate和下拉参数值从TaskReportPage.aspx.cs页面发送到eye1.disigner.cs文件页面。然后它将调用SP,我从数据库中获取数据到TaskReportPage.aspx.cs


请帮助我……

您不应该编辑设计器文件中的任何代码-它仅由visual studio生成和使用,最终将被覆盖,并且您将丢失手动更改。请将添加到设计器文件中的所有代码移到aspx.cs文件中