On each post back, the instance of Page(Books) is re-created, so you will not get the value of Book_CategoryName after button click. An approch is to store the variable in ViewState.
private const string KEY_Book_CategoryName = "Book_CategoryName";
public String Book_CategoryName
{
get
{
return ViewState[KEY_Book_CategoryName] as string;
}
set
{
ViewState[KEY_Book_CategoryName] = value;
}
}
The other approch can be store the value in a hidden field of the page. The idea is to store the value somewhere that can persistent during post back.