在MVC3中使用WebGrid

时间:2011-11-28 23:11:16

标签: asp.net-mvc-3

我是ASP.NET MVC3的新手,并且拼命想让一些简单的工作变得简单。我觉得我正在尝试做一些非常简单的事情。但是,我无法使用基本网格。我正在使用Visual Studio中的默认设置,这就是我所做的:

HomeController.cs

public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";

        List<Person> test = new List<Person>();
        test.Add(new Person("John", "Smith"));
        test.Add(new Person("Bill", "Torr"));

        return View(test);
    }

    public ActionResult About()
    {
        return View();
    }
}

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Person(string firstName, string lastName)
    {
        this.FirstName = firstName;
        this.LastName = lastName;
    }
}

Index.cshtml     @ {         ViewBag.Title =“主页”;     }

<h2>@ViewBag.Message</h2>
<p>
@{
    var grid = new WebGrid(@Model);
    grid.GetHtml();    
}
</p>

奇怪的是,WebGrid没有打印出任何内容。我期待两排。相反,我一无所获。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您忘记强烈键入视图并将GetHtml方法的结果输出到视图输出流。你走了:

@model IEnumerable<Person>

<h2>@ViewBag.Message</h2>
@{
    var grid = new WebGrid(Model);
}

<p>@grid.GetHtml()</p>

注意@grid.GetHtml()如何从代码部分外部化,这基本上是将网格HTML写入输出流。在您的示例中,您在代码部分中调用grid.GetHtml(),但您没有对结果执行任何操作,例如输出结果。这就是他们被遗忘的原因。

答案 1 :(得分:0)

试试这个也展示了如何在mvc3中使用webgrid和ajax http://www.helpnshareidea.in/2014/01/webgrid-in-mvc3-using-ajax.html