当前位置: 代码迷 >> ASP.NET >> 依据linkButton绑定的值改变GridView中的linkButton的样式和启用状态
  详细解决方案

依据linkButton绑定的值改变GridView中的linkButton的样式和启用状态

热度:282   发布时间:2013-02-25 00:00:00.0
根据linkButton绑定的值改变GridView中的linkButton的样式和启用状态

<asp:TemplateField HeaderText="状态">
         <ItemTemplate>
              <asp:LinkButton ID="LB_State" runat="server" CssClass="link" CommandName="Pager" CommandArgument=<%#DataBinder.Eval(Container,"DataItem.StudentID") %> OnClick="LB_State_Click" Text="确认"></asp:LinkButton>
         </ItemTemplate>
         <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="5%" Wrap="False" />
         <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="5%" />
</asp:TemplateField>


页面代码片断如上.
根据CommandArgument=<%#DataBinder.Eval(Container,"DataItem.StudentID") %> 这个值.
如0.1.2.  等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰色.Enabled=false


这样的功能怎么实现啊~~~在GirdView当中
------最佳解决方案--------------------------------------------------------
	LinkButton lbtn = (LinkButton)e.Row.Cells[1].FindControl("LinkID");  //获取LinkButton实例 你的Button在第几列
if (e.Row.RowType == DataControlRowType.DataRow)
{
string ID = lbtn.CommandArgument.ToString();  //这就是LinkButton所带的ID的值(绑定的值)
switch (ID)
{
case "0":
lbtn.Text = "班级信息等待确认";
break;
case"1":
lbtn.Text = "分组信息等待确认";
break;
case "2":
lbtn.Text = "已确认";
lbtn.Enabled = false;
break;
}
}

补全了
------其他解决方案--------------------------------------------------------
GridView1_RowDataBound 大体如下
LinkButton li = (LinkButton)e.Row.DataItem.FindControl("");
switch (li.CommandArgument)
{
//0.1.2.  等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰色.Enabled=false
case "0":
li.Text = "班级信息等待确认";
break;
case"1":
break;
}
------其他解决方案--------------------------------------------------------
Text='<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>'
------其他解决方案--------------------------------------------------------
<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>
------其他解决方案--------------------------------------------------------
引用:
<%#Eval("StudentID").ToString().Trim()=="0"?"班级信息等待确认":(Eval("StudentID").ToString().Trim()=="1"?"分组信息等待确认":"已确认")%>


你这是写在Text的值里面?????

报错啊亲...分析器错误
------其他解决方案--------------------------------------------------------
引用:
GridView1_RowDataBound 大体如下
LinkButton li = (LinkButton)e.Row.DataItem.FindControl("");
switch (li.CommandArgument)
{
//0.1.2.  等于.0时,text=班级信息等待确认, = 1,text=分组信息等待确认,=2,text=已确认.颜色=灰……


更正下.应该是这样的.LinkButton li = (LinkButton)e.Row.Cells[9].FindControl("LB_State");

谢了亲.得到Control就可以做了
  相关解决方案