繁体   English   中英

内联 If Then 语句。 ASP.NET

[英]Inline If Then Statement. ASP.NET

我需要做一个声明,就像

<%#((bool)Eval("inactive")) ? "<span style='color:red;font-weight:600;'>INACTIVE</span>" : "<span style='color:green;font-weight:600;'>ACTIVE</span>"%>  

除了不是布尔值,我需要它接受 3 个条件语句。

所以使用

<%#Eval("Program_Num") %>  

我需要它说

  • 如果 Program_Num == 1 那么它是 X,
  • 如果 Program_Num == 2 那么它是 y,
  • 如果 Program_Num == 3 那么它是 z;

我会尽我所能澄清和回答任何问题,谢谢你的帮助。

尝试这样的事情。

<%# (int)Eval("Program_Num") == 1 ? "X" : (int)Eval("Program_Num") == 2 ? "Y" : (int)Eval("Program_Num") == 3 ? "Z" : "default value" %>

好像在说这个。

if ((int)Eval("Program_Num") == 1)
    "X"
else if ((int)Eval("Program_Num") == 2)
    "Y"
else if ((int)Eval("Program_Num") == 3)
    "Z"
else
    "default value"

您可以尝试以下操作:

<%#Eval("Program_Num") == 1 ? "X" : Eval("Program_Num") == 2 ? "y" : Eval("Program_Num") == 3 ? "z" %> 

显然,您需要将“x”“y”“z”替换为您想要显示的任何内容。

它不优雅,但您可以使用它的嵌套版本:

var x = Program_Num == 1 ? "X" : (Program_Num == 2 ? "x" : (Program_Num == 3 ? "y" : "DEFAULT"))

为了清楚起见,我将其保留为干净的 C#。 您可以针对 ASP.NET 对其进行调整。

如果您要进入三个级别,那么现在是开始使用正确的 if 或 switch 结构的时候了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM