verify these things in your code :-
- lblcategoryid text should be present as a value in ddlist while you are calling completed of GetCategories
- second one check text case(lower or upper) of label. it should be same as dropDown Value.
you can check before using "FindByValue()"
string str1 = ddlist.SelectedValue;
string str2 = e.Row.FindControl("lblcategoryid") as Label).Text