Clearly, your dropdownlist doesn't have the value you are trying to assign.
rg.City = txtcity.SelectedItem.ToString();
Replace this line with
if(txtcity.SelectedIndex>=0)
{
rg.City = txtcity.SelectedValue.ToString();
}
This will stop throwing the error. But, your job is not finished yet. You need to make sure that the you have filled the dropdownlist before this line so that there will be items to assign in this line.
In case this doesn't solve your problem please let me know :)