Как я могу получить MvcHtmlString из выпадающего списка для контроллера

#c# #asp.net-mvc #razor #html.dropdownlistfor

#c# #asp.net-mvc #бритва #html.выпадающий список для

Вопрос:

Я пробовал это:

 public ActionResult RebuildDropDown(string selectedItem)
{
    bool error = false;
    MvcHtmlString drop = null;

    try
    {
        var helper = new HtmlHelper<Asset>(new ViewContext(), new ViewPage());

        //SelectList made from List<SelectListItem>
        var selectList = Asset.CriarSelectList(selectedItem);

        //x.Id is string
        drop = helper.DropDownListFor(x => x.Id, selectList);
    }
    catch (System.Exception e)
    {
        error = true;
    }

    return Json(new { error, drop });
}
  

Всегда получаю нулевую ссылку в этой строке:

 drop = helper.DropDownListFor(x => x.Id, selectList);
  

Комментарии:

1. Чего именно вы пытаетесь достичь?

2. Почему? Если вы пытаетесь получить html-фрагмент с помощью ajax, то используйте представление. В противном случае верните json и обработайте его в узлы html dom в javascript.