Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以像在表单中一样在视图上显示datagridview吗?如果是,那怎么办?_C#_Asp.net Mvc - Fatal编程技术网

C# 我可以像在表单中一样在视图上显示datagridview吗?如果是,那怎么办?

C# 我可以像在表单中一样在视图上显示datagridview吗?如果是,那怎么办?,c#,asp.net-mvc,C#,Asp.net Mvc,我知道有人建议使用JQuery或其他Javascript库。我希望使用通用的gridview或类似工具。请告诉您,这是我的学习阶段,这可能是高级用户的一个非常基本的问题。您可能想看看这个问题: 它被认为是一个没有建设性的建议请求,但肯定有很多数据网格选项推荐给你,你可能想看看 但简而言之,ASP.NET MVC并没有真正分享WebForms拖放复杂组件的设计理念——它的理念更多的是针对我知道我想要在页面上显示什么,现在我需要实现它。如果这不是你想要的,你最好还是坚持使用WebForms。你可能想

我知道有人建议使用JQuery或其他Javascript库。我希望使用通用的gridview或类似工具。请告诉您,这是我的学习阶段,这可能是高级用户的一个非常基本的问题。

您可能想看看这个问题:

它被认为是一个没有建设性的建议请求,但肯定有很多数据网格选项推荐给你,你可能想看看


但简而言之,ASP.NET MVC并没有真正分享WebForms拖放复杂组件的设计理念——它的理念更多的是针对我知道我想要在页面上显示什么,现在我需要实现它。如果这不是你想要的,你最好还是坚持使用WebForms。

你可能想看看这个问题:

它被认为是一个没有建设性的建议请求,但肯定有很多数据网格选项推荐给你,你可能想看看

但简而言之,ASP.NET MVC并没有真正分享WebForms拖放复杂组件的设计理念——它的理念更多的是针对我知道我想要在页面上显示什么,现在我需要实现它。如果这不是您想要的,那么您最好还是坚持使用WebForms。

如果可以在MVC中使用实际的WebForms控件,您不能或至少不应该这样做。如果这确实是你的一次学习经历,你最好学习一些新的方法来做这些事情

最简单的说,如果您只想显示一个数据表,那么您可以将该数据作为模型中的一个对象。例如,如果您希望有一个客户表,那么您的模型可能具有以下属性:

public IEnumerable<Customer> Customers { get; set; }
从这里开始,您可以适当地构建更多功能。例如,表中的每条记录可能都需要一个链接来编辑该客户。然后,您可能会再次使用客户的ID属性构建到相应编辑操作的链接,为了便于论证,假设其中有一个:

@foreach (var customer in Model.Customers)
{
    <tr>
        <td>@customer.Name</td>
        <td>@customer.Address</td>
        <td>@Html.ActionLink("Edit", "Customers", "Edit", new { id = customer.ID }, null)</td>
    </tr>
}
您可以使用不同的重载

当您构建它时,您将更好地理解它的客户端呈现实际上是或应该是多么简单,并且发现自己通常比在WebForms中更容易动手处理HTML。继续沿着这条路走下去,您会发现使用一些非常强大的客户端插件变得容易得多。例如,有大量用于表的jQuery插件。通过AJAX调用(在MVC中编写服务器端非常简单),或者通过在初始页面加载和分页/排序/过滤客户端中呈现所有数据,分页、排序等功能变得更加清晰。

如果可以在MVC中使用实际的WebForms控件,则不能或至少不应该这样做。如果这确实是你的一次学习经历,你最好学习一些新的方法来做这些事情

最简单的说,如果您只想显示一个数据表,那么您可以将该数据作为模型中的一个对象。例如,如果您希望有一个客户表,那么您的模型可能具有以下属性:

public IEnumerable<Customer> Customers { get; set; }
从这里开始,您可以适当地构建更多功能。例如,表中的每条记录可能都需要一个链接来编辑该客户。然后,您可能会再次使用客户的ID属性构建到相应编辑操作的链接,为了便于论证,假设其中有一个:

@foreach (var customer in Model.Customers)
{
    <tr>
        <td>@customer.Name</td>
        <td>@customer.Address</td>
        <td>@Html.ActionLink("Edit", "Customers", "Edit", new { id = customer.ID }, null)</td>
    </tr>
}
您可以使用不同的重载


当您构建它时,您将更好地理解它的客户端呈现实际上是或应该是多么简单,并且发现自己通常比在WebForms中更容易动手处理HTML。继续沿着这条路走下去,您会发现使用一些非常强大的客户端插件变得容易得多。例如,有大量用于表的jQuery插件。例如分页、排序、,通过在MVC中编写服务器端非常简单的AJAX调用,或者通过在初始页面加载和分页/排序/过滤客户端中呈现所有数据,可以使这些内容变得更加清晰。

向用户显示信息或从用户处收集数据的HTML元素可以分为简单和复杂两类;TextBox、ComboBox等简单元素在ASP.NET MVC中有HtmlHelper,因此开发人员为GridView等复杂元素寻找HtmlHelper是合理的;它很复杂,因为它应该具有分页、筛选、分组等功能。在我上一个使用ASP.NET MVC的项目中,我需要使用其中一个功能,我发现了两个很棒的库:


它们都是开源且高效的,但我更喜欢第一个,因为它简单、设计良好且易于配置。

可以对向用户显示信息或从用户处收集数据的HTML元素进行分类 简单与复杂;TextBox、ComboBox等简单元素在ASP.NET MVC中有HtmlHelper,因此开发人员为GridView等复杂元素寻找HtmlHelper是合理的;它很复杂,因为它应该具有分页、筛选、分组等功能。在我上一个使用ASP.NET MVC的项目中,我需要使用其中一个功能,我发现了两个很棒的库:


它们都是开源且高效的,但我更喜欢第一个,因为它简单、设计良好且易于配置。

谢谢David,我将尝试此解决方案,目前我不使用IIenumerable,只传递为我工作的datatable对象。再次感谢。@qazifarhan:你应该试着远离数据表和数据集之类的东西。您会发现,当对象具有具有编译器强制类型的有意义名称时,它们会变得更容易支持。但是,如果您只是使用DataTable,则其.Rows属性就是本例中的Model.Customers。行是一个可以枚举的集合。谢谢David,我将尝试此解决方案,目前我没有使用IIenumerable,只是传递为我工作的datatable对象。再次感谢。@qazifarhan:你应该试着远离数据表和数据集之类的东西。您会发现,当对象具有具有编译器强制类型的有意义名称时,它们会变得更容易支持。但是,如果您只是使用DataTable,则其.Rows属性就是本例中的Model.Customers。行是可以枚举的集合。谢谢Abbas,我看起来很像这些网格,我一定会在我的解决方案中尝试其中一个。谢谢你的帮助。谢谢阿巴斯,我看起来很像这些网格,我一定会在我的解决方案中尝试其中一个。谢谢你的帮助。很好的链接,非常有用的控件,种类繁多。我打算试试其中的一些。谢谢你的提示。很好的链接,非常有用的控件,种类繁多。我打算试试其中的一些。谢谢你的小费。