2012-08-13 98 views
0

我有一个asp:GridView绑定到一个asp:SqlDataSource,在用户单击UI中的一个按钮后会填充。有条件地填充GridView

为了安全起见,我不希望GridView填充,除非一些业务逻辑检查首先成功。

完成此操作的正确方法是什么?

+0

在您的按钮点击处理程序,把代码在if语句中填充gridview。 – 2012-08-13 19:23:40

+0

@Hans Z我在Page_Load中执行检查,如果失败则重定向到错误页面......但由于某种原因,如果我重新发送从Fiddler之类的捕获的http请求回发,它不需要重定向。为什么会这样(在调试中,我可以看到它碰到了重定向代码行,但它没有做任何事情,因为它通过它并继续)? – 2012-08-13 20:06:35

回答

0

正确的方法是在Code Behind上进行。不要设置标记中的数据源和公正分配上的代码Datasource是否已执行了你的业务逻辑背后之后,并验证它应该填充网格:

protected void button_click(object sender, EventArgs e) 
{ 

    if(validateBusinessRules()) 
    { 
     gridview1.DataSource=SqlDataSource2; 
     gridview1.DataBind(); 
    } 
}