Well, this is not the best way to do this.
Create a ViewModel that will contain everything that you want to render in the view.
public class MyViewModel{
public List<SelectListItem> CountryList {get; set}
public string Country {get; set}
public MyViewModel(){
CountryList = new List<SelectListItem>();
Country = "USA";
}
Fill it with the necessary data.
public ActionResult New()
{
var countryQuery = (from c in db.Customers
orderby c.Country ascending
select c.Country).Distinct();
MyViewModel myViewModel = new MyViewModel ();
foreach(var item in countryQuery)
{
myViewModel.CountryList.Add(new SelectListItem() {
Text = item,
Value = item
});
}
myViewModel.Country = "UK";
return ActionResult( myViewModel);
}
In the view, declare that this view expects a model of type MyViewModel using the following line at the top of the file
@model namespace.MyViewModel
And at any time you can use the model as you wish
@Html.DropDownList("Country", Model.CountryList, Model.Country)