TaskReportPage.aspxページには、開始日、終了日、ドロップダウン、および 1 つのダウンロード ボタンがあります。
コードは次のようになります。
<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>
TaskReportPage.aspx.csファイルでは、TaskReportPage.aspx ページから値を取得できます。
バックエンドには、次の列を持つテーブルがあります。
Description varchar(500),
CreatedDate datetime,
StatusId int,
UserId int,
Hour int,
Day varchar(10)
次のようなデータベースから値を取得するためのストアド プロシージャを作成しました。
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);
}
最後に、私の問題は、startdate、enddate、および dropdownパラメータの値をTaskReportPage.aspx.csページからeye1.disigner.csファイル ページに送信することです。次に、SP を呼び出し、データベースからTaskReportPage.aspx.csにデータを取得します。
私を助けてください.......