This code exists in my view; it makes use of a model passed through from the controller.
$("#email").emailautocomplete({
domains: [@foreach (var organisation in Model.Organisations)
{
@Html.Raw("\"") @organisation.EmailDomain
@Html.Raw("\", \r\n")
}
@Html.Raw("]")
});
Which renders as:
$("#Email""#email").emailautocomplete({
domains: ["domain1.gov.uk",
"domain2.com",
"domain3.gov.uk",
"domain4.gov.uk",
]
});
This achieves what I want but I feel the razor syntax is messy and wonder if there is a cleaner way of passing the email domain strings into the JavaScript, to achieve the same rendered result.
I understand an ajax call is an option however I don't want to call the database again to get the list of organisations as the data has already been retrieved by the controller and passed into the view, and is used elsewhere in the view to populate a combo box.