Нет там нет. Дело в том, что события не используются в этом смысле в веб-разработке. Вероятно, самым близким к наблюдаемым коллекциям будет запрос списков в JSON с сервера с ajax и рендеринг данных клиентов. С некоторым умным использованием дженериков, отражений и некоторого javascript вы могли бы превратить этот код в более динамичный.
Простой пример:
Контроллер:
public JsonResult GetPersons()
{
var list = new List<string> { "Jake", "Jenny", "Joe" };
return Json(list, JsonRequestBehavior.AllowGet);
}
Html:
<ul id='personlist'></ul>
Jquery:
$.getJSON('@Url.Action("GetPersons", "MyController")',null,
function (data) {
// iterate each person from the requested data
$.each(data, function (i, p) {
// render each person as li
$("#personlist").append('<li>'+p+'</li>');
});
});
Другой, не столь динамичным решением было бы просто запрашивающее мнение , usin g Viewmodel со списком лиц в нем.
public class PersonsViewModel
{
public List<string> Persons { get; set; }
public PersonsViewModel(List<string> persons)
{
Persons = persons;
}
}
public ActionResult Persons()
{
var list = new List<string> { "Jake", "Jenny", "Joe" };
return View(new PersonsViewModel(list));
}
Вид:
<ul>
@foreach (var item in Model.Persons)
{
<li>@item.ToString()</li>
}
</ul>
Если вы новичок в ASP.NET MVC и делал WPF/Winforms перед моим кончик, чтобы забыть все, что вы знали о событиях.