2016-07-11 3 views
0

у меня есть 2 кнопки в колонке 1 GridViewHTML, если другое заявление

<asp:TemplateField HeaderText="Task" HeaderStyle-BackColor="DarkBlue" HeaderStyle-ForeColor="White" ItemStyle-Width="5px"> 
       <ItemTemplate> 
        if<%#DataBinder.Eval(Container.DataItem, "stat")%>=="S2" 
        { 
        <a href="QP_OJT.aspx?Emp_id=<%#DataBinder.Eval(Container.DataItem, "EMP_ID")%>&Train_B_N=<%#DataBinder.Eval(Container.DataItem, "Train_B_N")%>&Train_ID=<%#DataBinder.Eval(Container.DataItem, "Train_ID")%>" class="btn btn-primary btn-sm">QP-003/05/02</a> 
        }else 
        { 
        <a href="QP_Eval.aspx?Train_ID=<%#DataBinder.Eval(Container.DataItem, "Train_ID")%>" class="btn btn-primary btn-sm">QP-003/09/03</a> 
        } 
       </ItemTemplate> 

если стат = "s2", QP-003/05/02 видно = правда, еще QP-003/05/02 является visible - false. , пожалуйста, руководствоваться мной, спасибо.

ответ

0

Вместо того, чтобы использовать и HTML <a> элемент можно использовать и ASP.NET LinkButton control.When HTML, получить, порожденных также получить, переведенная на <a> элемент, а на LinkButton контроля у вас есть Visible свойство, которое можно управлять программно с показать \ скрыть ссылку - Visible='<%# Eval("stat") == "S2" %>'

.aspx:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <span><%# Eval("EMP_ID") %></span> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <span><%# Eval("Train_ID") %></span> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="ojt" PostBackUrl='<%# "~/QP_OJT.aspx?Emp_id=" + Eval("EMP_ID") %>' runat="server" Text="QP-003/05/02" Visible='<%# Eval("stat") == "S2" %>'></asp:LinkButton> 
       <asp:LinkButton ID="eval" PostBackUrl='<%# "~/QP_Eval.aspx?Train_ID=" + Eval("Train_ID") %>' runat="server" Text="QP-003/09/03" Visible='<%# Eval("stat") != "S2" %>'></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

код бэхи nd:

public class GvData 
{ 
    public string stat { get; set; } 
    public int EMP_ID { get; set; } 
    public int Train_ID { get; set; } 

} 

public partial class GridViewConditionalButtons : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if(!Page.IsPostBack) 
     { 
      var g1 = new GvData { stat = "S2", Train_ID = 1, EMP_ID = 1 }; 
      var g2 = new GvData { stat = "S2", Train_ID = 2, EMP_ID = 2 }; 
      var g3 = new GvData { stat = "S1", Train_ID = 3, EMP_ID = 3 }; 

      GridView1.DataSource = new List<GvData> { g1, g2, g3 }; 
      GridView1.DataBind(); 
     } 
    } 
} 
Смежные вопросы