Problem description:
After the page is generated, click the button again. The value of the member variable obtained in the execution function is blank:
Public partial class products: system. web. UI. page {private string bigcategory; // = "pro_notebook"; // category name protected void page_load (Object sender, eventargs e) {If (! Ispostback) {populatecontrols (); // you can specify a search type.
}
} Private void populatecontrols () {bigcategory = request. querystring ["bigcategory"];
}
// Sort by clicks
Protected void sortbyclick_click (Object sender, eventargs E)
{
String STR = bigcategory; // null here
}
Answer:
The model is loaded when the page is loaded for the first time. However, when you click the button, the page is refreshed again (! Ispostback), so it is not loaded. At this time, there is no storage space in the client to store your value, so you cannot get the bigcategory value.
My solution is like this. You should understand the usage of viewstate and use viewstate to solve this problem.
// After initialization, you can load the model into viewstate ["value"] = model; // where you need it, obtain bigcategory = (data type) viewstate ["value"] From viewstate of the model.