System.Web.Mvc.ListItem больше не существует в ASP.NET MVC RC? - PullRequest
2 голосов
/ 30 января 2009

Попытка создать список для возврата некоторых данных JSON в представление. Следуя нескольким учебникам в сети, которые были созданы во время бета-тестирования, но, похоже, в RC код работает.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication6.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public JsonResult list()
        {
            List<ListItem> list = new List<ListItem> {
                new ListItem() {Name="value", Something = "more Values"}
            };
            return Json(List);
        }
    }
}

Проблема в том, что ListItem не найден в пространстве имен System.Web.Mvc. Я не могу заставить это работать. Если ListItem был удален, как вы выполняете это в Release Candidate MVC?

Вот учебники, которые я пытаюсь использовать:

http://geekswithblogs.net/michelotti/archive/2008/06/28/mvc-json---jsonresult-and-jquery.aspx http://nayyeri.net/blog/using-jsonresult-in-asp-net-mvc-ajax/

Ответы [ 2 ]

5 голосов
/ 30 января 2009

ListItem находится в System.Web.UI.WebControls ... вы, вероятно, не хотите использовать это. Вы можете использовать SelectListItem, который находится в пространстве имен System.Web.Mvc, но вам придется изменить имена свойств (это необходимо сделать и для ListItem).

    public JsonResult list()
    {
        List<SelectListItem> list = new List<SelectListItem> {
            new ListItem() { Text="value", Value = "more Values" }
        };
        return Json(List);
    }

Я бы соблазнился сделать это со списком и анонимными типами, чтобы я мог определить имена свойств по своему вкусу.

    public JsonResult list()
    {
        List<object> list = new List<object> {
            new { Name="value", Something = "more Values" }
        };
        return Json(List);
    }
0 голосов
/ 18 августа 2014

Я бы пошел с версией MVC. ListItem следует модели веб-форм, продвигаясь вперед, и вы, вероятно, захотите использовать SelectList и SelectListItem соответственно.

public JSonResult lstResult()
{
   SelectList lst = new SelectList( new List<SelectListItem>() 
   { 
        new SelectListItem { Text = "Text here", Value = "0" }, 
        new SelectListItem { Text="Second Text", Value="1"},
        new SelectListItem { Text="Third Text", Value="2" },
        new SelectListItem { Text="Fourth Text", Value="3"}
    });
        return JSon(lst);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...