関数からストアド プロシージャによって返されるデータの奇妙な動作に直面していPage_Load
ます。
のコードは次のPage_Load
とおりです。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["LoggedinUser"] != null)
{
loggedinUsername.Text = "Welcome " + Session["LoggedinUser"].ToString() + " ";
logout.Visible = true;
ArrayList Result1 = new ArrayList();
ReservationPending_StandardUser RPU = new ReservationPending_StandardUser();
Result1 = RPU.GetStandardUserSpaceReservationDetailsByID(Convert.ToInt32(Session["LoggedinUserID"].ToString()));
string SpaceID = Result1[0].ToString();
string TransactionCode = Result1[1].ToString();
int TRefID = Convert.ToInt32(Result1[2].ToString());
Transaction_EasyPaisa EP = new Transaction_EasyPaisa();
DataTable dt = EP.GetEasyPaisaTransaction(TRefID);
string datetransaction = dt.Rows[0]["DateTimeStamp"].ToString();
string _amountPaid = dt.Rows[0]["AmoutPaid"].ToString();
spaceID.Text = SpaceID;
dateReservation.Text = datetransaction;
amountPaid.Text = _amountPaid;
if (TransactionCode.Equals("EP"))
paymentMethod.Text = "Easypaisa";
status.Text = "Pending";
}
else
{
Response.Redirect("Default.aspx");
}
}
2 つの関数GetStandardUserSpaceReservationDetailsByID
とGetEasyPaisaTransaction
は、実際にはそれぞれのストアド プロシージャからデータを取得しています。問題は、データが返される場合と返されない場合があることです。
シナリオで説明しましょう:
最初にページをロードすると、結果が表示されます。次に、ページを更新すると、上記の関数のいずれかによって返された空のデータが表示されます。次に、ページを再度更新すると、データが取得され、この動作がランダムに続きます。
この問題は ASP.NET ページのライフサイクルに関連していますか? もしそうなら、それは私のこれまでの仕事を台無しにするので、解決するのを手伝ってください.