Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# ASP.net创建此表的最佳方法?_C#_Asp.net - Fatal编程技术网

C# ASP.net创建此表的最佳方法?

C# ASP.net创建此表的最佳方法?,c#,asp.net,C#,Asp.net,我正在尝试设置一个网站,以便在从web服务接收数据时显示此信息 展示此表的最佳方式是什么?我一开始有一个gridview,但后来我想在第三列有很多信息,第四列有两个按钮,而不是1个 品牌、价格和产品名称的数据来自我对web服务的调用,因此我需要为从该web服务调用收到的每个项目重复这些行 编辑-下面我的答案是关于我是如何做到的,我最终只是在代码中创建html,而不是按照我想要的方式显示它。我认为最简单的方法是使用数据源,或者这不是您的选项 Repeater1.DataSource = val

我正在尝试设置一个网站,以便在从web服务接收数据时显示此信息

展示此表的最佳方式是什么?我一开始有一个gridview,但后来我想在第三列有很多信息,第四列有两个按钮,而不是1个

品牌、价格和产品名称的数据来自我对web服务的调用,因此我需要为从该web服务调用收到的每个项目重复这些行


编辑-下面我的答案是关于我是如何做到的,我最终只是在代码中创建html,而不是按照我想要的方式显示它。

我认为最简单的方法是使用数据源,或者这不是您的选项

Repeater1.DataSource = values;
Repeater1.DataBind();

如果从api返回任何与IEnumerable接口一致的内容,则不必这样做

e、 g.您可以在数据表或列表中显示api结果。它们都使用IEnumerable接口进行确认。然后,您可以简单地将这些对象绑定到中继器或网格


另一个选项是使用asp.net文本控件。它会给你一个占位符。至于现在,我可以看到,您不需要保持这个页面的状态,所以literal在这里也可以做得很好。不过,要使用文本控件,可能必须动态生成html。但是,它将为您提供对生成的html的完美控制。

事实证明,实现我在图中所示的显示效果的最佳方法就是从codebehind创建一个html表,并用所需的数据填充所需的部分

我摆了一张桌子

<asp:Table Width="100%" ID="tblQuotes" runat="server">  
<asp:TableHeaderRow ID="Headers" runat="server">  
    <asp:TableHeaderCell>Brand</asp:TableHeaderCell>  
    <asp:TableHeaderCell>Price</asp:TableHeaderCell>  
    <asp:TableHeaderCell>Information</asp:TableHeaderCell>  
    <asp:TableHeaderCell>Purchase</asp:TableHeaderCell>  
 </asp:TableHeaderRow>  
 </asp:Table>   

我可以对其中两列执行此操作,但如何对具有多个值的第三列执行此操作?我不知道如何将其放入数据表中。如本文所述,中继器中的中继器如何:您如何将其保存到数据库中是相同的,因为您可以在后面的代码中收集它们,那么我将如何做\在占位符中创建一个字符串,并将其指定给文字。它可以是一个完整的html构造。请注意,它不会表现为服务器端控件。它将是纯html。抱歉,不清楚,我指的是您答案的第一部分,这似乎是最好使用的。您的api调用的结果可以是.Net datatable或list,如果您使用asp.Net web服务作为api提供程序,这是可能的。它将能够在应用程序中创建一个伪类,并透明地引用服务。但是,要使用它,您应该控制api,或者让asp.net web服务呈现api。
row.Cells.Add(colBrand);                      
Image logo = new Image();
logo.ImageUrl = imageUrl;
colProvider.Controls.Add(logo);