ASP.net MVC: Как определить встроенный шаблон бритвы в коде? - PullRequest
2 голосов
/ 13 декабря 2011

Я использую встроенный шаблон бритвы для определения формата столбцов сетки.

enter image description here

Это прекрасно работает, если вы определяете встроенный шаблон в представлении бритвы.

Как мне сделать то же самое (определить список столбцов с помощью встроенных шаблонов) в коде в контроллере?

1 Ответ

3 голосов
/ 14 декабря 2011

Вот пример кода. Вы также можете получить код просмотра, используя this . См. Также this для расширения сетки,

public class HomeController : Controller
{
    public class Employee
    {
        public string Name { get; set; }
        public string Description { get; set; }
        public int Price { get; set; }
    }
    public ActionResult Index()
    {
        var myClasses = new List<Employee>{
          new Employee   { Name="A" , Price=1, Description="A A"},
          new Employee   { Name="B" , Price=2, Description="B B"},
          new Employee   {  Name="C" , Price=3, Description="C C"}};

        var grid = new WebGrid(source: myClasses);
        var html = grid.GetHtml(
            columns: grid.Columns(
                grid.Column("Name", "Product", style: "product"),
                grid.Column("Description", format: item => new System.Web.WebPages.HelperResult(writer =>
                {
                    WriteLiteralTo(writer, "<i>");
                    WriteTo(writer, item.Description);
                    WriteLiteralTo(writer, "</i>");
                })),
                grid.Column("Price", format: item => new System.Web.WebPages.HelperResult(wrtier =>
                {
                    WriteLiteralTo(wrtier, "$");
                    WriteTo(wrtier, item.Price);
                }))
            )
        );
        return View();
    }

    private void WriteLiteralTo(TextWriter writer, object content)
    {
        writer.Write(HttpUtility.HtmlEncode(content));
    }

    public static void WriteTo(TextWriter writer, object content)
    {
        writer.Write(HttpUtility.HtmlEncode(content));
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...