我有一種以神祕方式工作的方法。令人費解的行爲的.NET方法
運行這個工作正常;
FindConcept("Product");
即使SelCatID的值是「Product」,運行此操作會產生(不需要的)不同結果。
FindConcept(SelectedCategoryID);
凡SelectedCategoryID樣子:
protected string SelectedCategoryID
{
get
{
if (Request["c"] != null)
{
string c = Request["c"];
ViewState["SelectedCategoryID"] = c;
return c;
}
if (ViewState["SelectedCategoryID"] != null)
{
string cid = ViewState["SelectedCategoryID"] as string;
if (!string.IsNullOrEmpty(cid))
{
return cid;
}
return "";
}
else
return "";
}
}
這使我相信,必須在SelectedCategoryID對象的get-方法一些奇怪的副作用。我是.NET新手,所以我對ViewState的工作原理並不瞭解。
我已經試過無數方法調試這一點,比如我已經試過這樣:
System.Diagnostics.Debug.WriteLine(SelectedCategoryID);
FindConcept(SelectedCategoryID);
凡的Debug.WriteLine會產生「產品」,這應該意味着FindConcept行爲與預期相同。
這讓我完全不解。我應該如何繼續解決這個問題?
單元測試的東西,例如沿..... – 2011-04-04 15:11:24
你的問題不是很清楚,你的產品是把和失控產品。這不是你想要的嗎? SelectCategoryId在哪裏? – Cyberdrew 2011-04-04 15:12:30
此行爲只能用FindConcept中的代碼來解釋。 – 2011-04-04 15:12:38