OK, the code in my original post should have looked like this: aspx: <asp:DropDownList ID="ux_ddl_userName" runat="server" DataSourceID="user_data_source" DataTextField="user_name" DataValueField="user_name" AutoPostBack="true" > </asp:DropDownList> .cs: string username = ""; username = this.ux_ddl_userName.SelectedValue; The file names were Default.aspx and Default.aspx.cs, and the class name was _Default. The code-behind and the class were correctly identified in the Codefile and inherits properties of the page directive. The "fix" ended up being to change the file names to DevDefault and change the class name to DevDefault. The original file and class names were generated by the IDE. I did find in the project, that there was a Default3 file that identified the same class in a different file, so that may have been where the conflict was. If it was looking at that _Default class, then the error would have made sense, since it was essentially empty. In fact, I'm sure that's what it was, since typing the control name didn't bring up the intellisense listing, but preceding the control name with "this" did bring it up. It was a name clash. Thanks.