作為初學者,我正處于學習 ASP.NET Webforms 的初始階段,我正在使用需要Request.QueryString從靜態方法呼叫的這段代碼。但我無法做到這一點,而是引發編譯錯誤
這是我的代碼塊
[System.Web.Services.WebMethod]
public static string GetProductImgList(string ProductCode)
{
try
{
string ProductId = Request.QueryString["ID"].ToString(); //error
string BatchId = Request.QueryString["Batch"].ToString();//error
string UserId = Request.QueryString["UID"].ToString();//error
dalOnlineShop objdalOnlineShop = new dalOnlineShop();
DataTable dt = objdalOnlineShop.GetProductAllImgs(ProductCode);
string ImgNames = "";
for (int i = 0; i < dt.Rows.Count; i )
{
if (dt.Rows.Count == i 1)
{
ImgNames = dt.Rows[i]["SmallImgPath"].ToString() ",";
ImgNames = dt.Rows[i]["ImgPath"].ToString();
}
else
{
ImgNames = dt.Rows[i]["SmallImgPath"].ToString() ",";
ImgNames = dt.Rows[i]["ImgPath"].ToString() ",";
}
}
return ImgNames;
}
catch (Exception ex) { }
return "";
}
uj5u.com熱心網友回復:
您的問題是您將此方法設為靜態。靜態意味著它不依賴于特定實體。此代碼參考的Request屬性是實體屬性。這意味著該屬性(可以)對于每個實體具有不同的值。
ASP.NET 將為每個進入的請求創建一個此類的新實體,這將更容易共享特定請求的資訊,如Request, Response, Context, ... ,因此您不必考慮將它們捆綁在一起。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/460908.html
