1.
datagrid 显示用户状态操作,当用户没有审核时,用户状态为未开通此时在数据库中为-1表示,当用户通过审核时,用户状态为已审核,此时在数据库中为02.
作法:
datagrid中: <asp:TemplateColumn HeaderText="用户状态">
<ItemTemplate>
<asp:Button ID="button1" runat="server" Text="审核" CommandName="select" CommandArgument='<%#Eval("UserState") %>' />
</ItemTemplate>
</asp:TemplateColumn>这个思维为:
页面发生 Page_Load事件,然后发生数据绑定 ,然后发生更新事件 dg_UpdateCommand,然后就是用户状态更新成功。然后再取按钮的CommandName="select"这要在事件中发生
protected void dg_ItemCommand(object source, DataGridCommandEventArgs e)
{
if (e.CommandName == "select")
{ string UserState = Convert.ToString(e.CommandArgument);
dg_UpdateCommand(source, e);
DataBindDg();
DBM.message("用户状态已开通"); }
else
{
dg_UpdateCommand(source, e);
DataBindDg();
DBM.message("用户状态已冻结");
}
}
经过测试用户状态只能实现用户状态开通,不能实现用户状态冻结,后来根据net生命周期原理,这个dg_UpdateCommand()中的按钮应该放在预编译中解决,就是 dg_PreRender(object sender, EventArgs e)可是在这个事件中:要用for()来取得datagrid中的各个单元行吧。3.
问题说明: protected void dg_PreRender(object sender, EventArgs e)
{
User user = new User();
for (int i = 0; i < dg.Controls.Count; i++)
{
========================================================================== Button contr = (Button)dg.FindControl("Button1"); 此句有问题按钮这个值取不到,这个时候怎办呀。谢谢
==========================================================================
if (user.UserState == "0")
{
contr.Text = "冻结";
}
else
{
contr.Text = "开通";
} } }
datagrid 显示用户状态操作,当用户没有审核时,用户状态为未开通此时在数据库中为-1表示,当用户通过审核时,用户状态为已审核,此时在数据库中为02.
作法:
datagrid中: <asp:TemplateColumn HeaderText="用户状态">
<ItemTemplate>
<asp:Button ID="button1" runat="server" Text="审核" CommandName="select" CommandArgument='<%#Eval("UserState") %>' />
</ItemTemplate>
</asp:TemplateColumn>这个思维为:
页面发生 Page_Load事件,然后发生数据绑定 ,然后发生更新事件 dg_UpdateCommand,然后就是用户状态更新成功。然后再取按钮的CommandName="select"这要在事件中发生
protected void dg_ItemCommand(object source, DataGridCommandEventArgs e)
{
if (e.CommandName == "select")
{ string UserState = Convert.ToString(e.CommandArgument);
dg_UpdateCommand(source, e);
DataBindDg();
DBM.message("用户状态已开通"); }
else
{
dg_UpdateCommand(source, e);
DataBindDg();
DBM.message("用户状态已冻结");
}
}
经过测试用户状态只能实现用户状态开通,不能实现用户状态冻结,后来根据net生命周期原理,这个dg_UpdateCommand()中的按钮应该放在预编译中解决,就是 dg_PreRender(object sender, EventArgs e)可是在这个事件中:要用for()来取得datagrid中的各个单元行吧。3.
问题说明: protected void dg_PreRender(object sender, EventArgs e)
{
User user = new User();
for (int i = 0; i < dg.Controls.Count; i++)
{
========================================================================== Button contr = (Button)dg.FindControl("Button1"); 此句有问题按钮这个值取不到,这个时候怎办呀。谢谢
==========================================================================
if (user.UserState == "0")
{
contr.Text = "冻结";
}
else
{
contr.Text = "开通";
} } }
帮你顶个