У меня есть метод, который работает таинственным образом..NET метод с недоумением
Выполнение этого работ отлично;
FindConcept("Product");
Выполнение этого производит (нежелательный) другой результат, даже если значение SelCatID является «Продуктом»;
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 "";
}
}
Это приводит меня к мысли, что должен быть какой-то странный побочный эффект в GET-метод объекта SelectedCategoryID. Я новичок в .NET, поэтому у меня нет хорошего представления о том, как работает ViewState.
Я попытался отладки это в многочисленных, как, например, я попытался это:
System.Diagnostics.Debug.WriteLine(SelectedCategoryID);
FindConcept(SelectedCategoryID);
Если Debug.WriteLine будет производить «Продукт», что должно означать FindConcept ведет себя, как ожидалось.
Это полностью озадачило меня. Как я должен продолжать решать эту проблему?
тестов Unit ..... –
Ваш вопрос не очень понятно, вы кладете в продукт и выйти продукт. Разве это не то, что вы хотите? Где ваш сеттер на SelectCategoryId? – Cyberdrew
Это поведение можно объяснить только кодом внутри 'FindConcept'. –