1

我正在研究 asp.net gridview (WEB.UI.Contorl)。我只想使用一个gridview。单击按钮时,gridview1 应由 table1 填充。单击第二个按钮时,gridview1 应由 table2 填充。

这可能吗..?

4

2 回答 2

1

你试过这个

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        Text="Button 1" />
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" 
        Text="Button 2" />
    <br />
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>

在后面的代码中

protected void Button1_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = CallToMethodThatReturnFirstDatatable();
        GridView1.DataBind();
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = CallToMethodThatReturnSecondDatatable();
        GridView1.DataBind();
    }
于 2013-01-13T13:44:23.550 回答
0

是的,调用存储过程: MyProc(@ParamTable, ....) 然后在 proc 中有 if 语句根据@Param 的值选择表。然而,这不是一个好方法,原因有很多:Linq 不会生成你的类,除非你做更多的 jigery pokery。虽然学习曲线很好......当您使用asp net时,您很可能正在生成回发以获取另一个表,因此respose重定向到另一个页面绝对没有开销可言。如果您坚持在没有回发的情况下进行异步操作,那么您需要使该过程执行诸如插入表变量之类的操作,然后将表变量变量上的选择与硬编码的列变量行联合起来,这些列变量以某种方式被排除在外没退……

于 2013-01-13T13:38:12.537 回答