求答案 GridView1.Rows.Count 一直等于0
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox chkID = (CheckBox)GridView1.Rows[i].FindControl("chkID");
if (chkID.Checked)
{
strIDs += GridView1.DataKeys[i].Value.ToString() + ",";
}
}
GridView1.Rows.Count =0
查到有说把绑定数据放在 if (!IsPostBack)外面,这样是取到了值,但是我下拉框的是搜索就用不起来了,每次都是回来搜索前的结果
求解决方法
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="-1">显示全部</asp:ListItem>
<asp:ListItem Value="0">未审核</asp:ListItem>
<asp:ListItem Value="1">付款成功</asp:ListItem>
<asp:ListItem Value="2">商品出库</asp:ListItem>
<asp:ListItem Value="3">等待收货</asp:ListItem>
<asp:ListItem Value="4">完成</asp:ListItem>
</asp:DropDownList>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
/// <summary>
/// 数据绑定
/// </summary>
private void BindData()
{
string sql = "where UserID=" + Common.LoginHelper.UserID;
int statusFlag = ConfigParam.StatusFlag;
if (ConfigParam.StatusFlag >= 0)
{
DropDownList1.SelectedValue = statusFlag.ToString();
sql += " and StatusFlag = " + statusFlag.ToString();
}
int total = 0;
int PageIndex = ConfigParam.Page;
int PageSize = GridView1.PageSize;
GK2010.BLL.MemberOrder bll = new GK2010.BLL.MemberOrder();
------解决方案--------------------
产品页面会出现乱码?
这个跟EnableViewState=true没有任何关系,是你的代码写的有问题
要想保持状态,必须EnableViewState=true