Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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/9/ruby-on-rails-3/4.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# 使用对象数据源_C#_Asp.net_Data Binding_Gridview_Objectdatasource - Fatal编程技术网

C# 使用对象数据源

C# 使用对象数据源,c#,asp.net,data-binding,gridview,objectdatasource,C#,Asp.net,Data Binding,Gridview,Objectdatasource,我正在尝试使用ObjectBindingSource将数据绑定到gridview。数据以模型的形式作为控制器的子类出现在视图中 var _controller = new DataController(param1, param2); 您将以这种方式访问它 foreach(var Variable in _controller.DataModel.Cars) <%: Car.Name %> ... foreach(控制器.DataModel.Cars中的var变量) ... 如

我正在尝试使用ObjectBindingSource将数据绑定到gridview。数据以模型的形式作为控制器的子类出现在视图中

var _controller = new DataController(param1, param2);
您将以这种方式访问它

foreach(var Variable in _controller.DataModel.Cars)
<%: Car.Name %> ...
foreach(控制器.DataModel.Cars中的var变量)
...
如何使用此DataModel.Cars作为对象绑定源的源

我现在有

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"  
        TypeName="Choices.ChoiceService.ChoiceCollection"  
        DataObjectTypeName="Choices.ChoiceService.ChoiceObject" 
        InsertMethod="Add" SelectMethod="AsReadOnly"/>

在DataController上插入一个Select方法,如GetCars,方法如下:

public class DataController
{
   public IEnumerable<Car> GetCars(int param1, int param2)
   {
      return this.DataModel.Cars;
   }
}
注意:有更好的方法可以做到这一点,像这样使用会话真的很难看,这只是一个例子。您可能可以从以下选项中选择一个更好的选项 名单:


或者,您可以使用ObjectDataSource的OnDataBinding事件以编程方式直接在ObjectDataSource实例上设置参数。

是的,您在这里有一些选项……请检查:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"  
        TypeName="Choices.ChoiceService.DataController"  
        DataObjectTypeName="Choices.ChoiceService.Car" 
         SelectMethod="GetCars">
       <SelectParameters>
          <asp:SessionParameter Name="param1" SessionField="param1" />
          <asp:SessionParameter Name="param2" SessionField="param2" />
       </SelectParameters>
</asp:ObjectDataSource>
Session["param1"] = 12;
Session["param2"] = 13;