C# 如何将数据显示到旁边有按钮的表中?

C# 如何将数据显示到旁边有按钮的表中?,c#,asp.net,gridview,data-binding,C#,Asp.net,Gridview,Data Binding,这是我想要实现的一幅图: 我想在一个表中显示所有类别,并在旁边添加一列,其中包含一个按钮。单击此按钮,它将重定向到另一个页面,显示有关该类别的更多详细信息 你知道怎么做吗 到目前为止,我所做的就是: protected void Page_Load(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(@"Data Source=NASHIISHEENA;Initial Catalog=Houseke

这是我想要实现的一幅图:

我想在一个表中显示所有类别,并在旁边添加一列,其中包含一个按钮。单击此按钮,它将重定向到另一个页面,显示有关该类别的更多详细信息

你知道怎么做吗

到目前为止,我所做的就是:

  protected void Page_Load(object sender, EventArgs e)
{
   SqlConnection conn = new SqlConnection(@"Data Source=NASHIISHEENA;Initial Catalog=HousekeepingPortal_DB;Integrated Security=True");
   SqlCommand cmd = new SqlCommand("Select Cat_Name from tblCategory",conn);
   conn.Open();
   SqlDataReader dr = cmd.ExecuteReader();

   GridView1.DataSource = dr;
   GridView1.DataBind();
   conn.Close();
}

我不能给你一个你试图实现的完整代码,但我会给你一个大概的想法

首先-要创建表,可以使用
GridView
ListView
。另一个选项是使用普通列表,然后创建一个
网格
/
DockPanel
作为每个项目的数据模板。我认为这个解决方案是最简单的,所以我将对此进行演示

我将向您展示如何使用
ListView
实现它并维护MVVM体系结构。请注意,像您这样调用事件与MVVM不同,我建议使用
命令
s

首先,您需要查看
ViewModel
中的某些内容,该内容解释您当前查看的页面类型,并将其绑定到实际视图。我不知道你想要什么,所以我不能给你看这部分的代码

然后在
ListView
上创建一个名为
OpenPageCommand
命令,该命令通过
object
参数获取其项/页/所需的任何对象

至于
列表框
部分和命令绑定:

    <ListBox ItemsSource="{Binding Categories}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <DockPanel>
                        <Button DockPanel.Dock="Right" Width="150" Content="Show detalils" 
                                Command="{Binding DataContext.OpenCommand, RelativeSource={RelativeSource AncestorType=Window}}" 
                                CommandParameter="{Binding }"/>
                        <TextBlock Text="{Binding Name }"/>
                    </DockPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

使用
GridView
ListView
的解决方案应该类似。请注意,在这些情况下,您可能需要使用
CellTemplate
将按钮放在其中一列中


如果您有任何问题,请在评论中说明

问题是关于Asp.Net,而不是WPF或UWP。GridView的HTML在哪里?