【问题标题】:Is possible to use a data source control in ASP.NET MVC?可以在 ASP.NET MVC 中使用数据源控件吗?
【发布时间】:2009-04-01 05:25:36
【问题描述】:

我想在 ViewData.Model 中使用 LinqDataSource 或 ObjectDataSource,其中 ViewData.Model 是一个字符串数组。

我不想在视图的 PageLoad 事件上绑定数据源。

有可能吗?怎么样?

【问题讨论】:

    标签: c# asp.net asp.net-mvc data-binding


    【解决方案1】:

    您应该将实际数据源返回到您的视图中,因为这会破坏整个 MVC 概念。相反,您应该通过控制器从源返回数据对象,以便清晰地分离模型内部和视图。

    但是,如果您真的想返回数据源,这就是您的操作方式,它与您想要的任何类型的对象相同:在您的控制器中,您返回一个以对象作为参数的新视图。该对象将通过视图的 Model 属性变得可用。

    即在您的控制器操作中有以下内容:

    public ActionResult YourAction() {
        var yourDataSource = GetYourDataSourceMethod();
        return View(yourDataSource);
    }
    
    private LinqDataSource GetYourDataSourceMethod() { 
        // Return your datasource ... 
    }
    

    在您看来,您可以直接调用Model 属性并访问yourDataSource。如果您没有像这样输入视图,则需要输入强制转换:

    <%= var myDataSource = (LinqDataSource) Model %>
    

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2012-04-01
      • 2011-07-15
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多