导航

关于FindControl()与获取数据项标识ID的方法(原创)

Posted on 2006-10-24 13:41  madduck  阅读(420)  评论(0编辑  收藏  举报

方法一
//gvGoodsCart是GridView
for(int i=0;i<gvGoodsCart.Rows.Count; i++)
{
//FindControl()取得任意子控件的值,如TextBox tbQuantity
TextBox quantityTxt = (TextBox)gvGoodsCart.Rows[i].FindControl("tbQuantity");

//取得数据项标识ID,前提是gvGoodsCart的DataKeyNames属性值要为ID字段,如ProID
int ProID;
ProID=(int)gvGoodsCart.DataKeys[i].Value;
}

方法二
//利用CommandAugrment
//先在gvGoodsCart里自定义一个TemplateField,把LinkButton放上去(其它控件也行,只要有CommandAugrment属性)
//再把CommandAugrment绑定到ProID字段。
//最后选择LinkButton的Command事件
LinkButton__Command(object sender, CommandEventArgs e)
{
int ProID;
ProID=(int) e.CommandArgument.ToString();
}

总结:这些方法的好处是你可以把参数通过Cookies传递,而不用在浏览器让人看到,从而避开了菜鸟的SQL的注入。嘿嘿!
PS:全天下就只有你还不知道的,还好意思拿出来丢人!我闪。