我正在研究 asp.net gridview (WEB.UI.Contorl)。我只想使用一个gridview。单击按钮时,gridview1 应由 table1 填充。单击第二个按钮时,gridview1 应由 table2 填充。
这可能吗..?
我正在研究 asp.net gridview (WEB.UI.Contorl)。我只想使用一个gridview。单击按钮时,gridview1 应由 table1 填充。单击第二个按钮时,gridview1 应由 table2 填充。
这可能吗..?
你试过这个
<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();
}
是的,调用存储过程: MyProc(@ParamTable, ....) 然后在 proc 中有 if 语句根据@Param 的值选择表。然而,这不是一个好方法,原因有很多:Linq 不会生成你的类,除非你做更多的 jigery pokery。虽然学习曲线很好......当您使用asp net时,您很可能正在生成回发以获取另一个表,因此respose重定向到另一个页面绝对没有开销可言。如果您坚持在没有回发的情况下进行异步操作,那么您需要使该过程执行诸如插入表变量之类的操作,然后将表变量变量上的选择与硬编码的列变量行联合起来,这些列变量以某种方式被排除在外没退……