C# 如何在aspx中运行if语句?

C# 如何在aspx中运行if语句?,c#,.net,asp.net,html,gridview,C#,.net,Asp.net,Html,Gridview,我想运行if语句,但条件使用了来自代码隐藏的变量。我怎么称呼这个变量旁注。。。我使用的是gridview,变量位于数据集中(dsResult-idnbr colum) 您可以读取代码隐藏中声明的属性;这能满足你的要求吗 您可以使用this.MyProperty.Contains(“X”)而不是string temp=…,我知道这并不能完全回答您的问题,但为什么不在后面的代码中这样做呢?我猜你在做数据绑定的事 string temp = (string)DataBinder.Eval(e.Ite

我想运行if语句,但条件使用了来自代码隐藏的变量。我怎么称呼这个变量旁注。。。我使用的是gridview,变量位于数据集中(dsResult-idnbr colum)


您可以读取代码隐藏中声明的属性;这能满足你的要求吗


您可以使用
this.MyProperty.Contains(“X”)
而不是
string temp=
…,我知道这并不能完全回答您的问题,但为什么不在后面的代码中这样做呢?我猜你在做数据绑定的事

string temp  = (string)DataBinder.Eval(e.Item.DataItem, "idnbr");
string newAmount = (string)DataBinder.Eval(e.Item.DataItem, "new_amt");
string oldAmount = (string)DataBinder.Eval(e.Item.DataItem, "old_amt");
Label lbl1        = e.Item.FindControl("label1") as Label;

if(temp.Contains("X") {
 lbl1.Text = oldAmount;
} else {
 lbl1.Text = newAmount;
}
创建c#side方法来为您实现这一点: 然后使用以下两种方法之一:

  • 如果您处理众所周知的实体(比如当GridView绑定到ObjectDatasource时),您 可以将其强制转换到您的实体并传回:
C#:

ASP.Net:

<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem) %>' ...
<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem("idnbr", ... %>' ...
ASP.Net:

<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem) %>' ...
<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem("idnbr", ... %>' ...


只要确保它是可见的(公共的或受保护的)@David Right。。。我的意思是,当我说财产时,但我想我应该明确:——)
<ItemTemplate>
    <asp:Label Text='<%# MySelector(Container.DatatItem("idnbr", ... %>' ...
<a href="javascript:onclick= window.location = 'RenewalPaymentGateway.aspx?RPID=<%# Eval("RPID")%>'" title="Pay">
 <asp:Label ID="TEMP" Text='<%# If(Eval("PaymentStatus").ToString() = "Paid", "View", "Make payment") %>'  runat="server" />
here in label the text view will appear when PaymentStatus=paid or the text will be make payment