aspx页面中的if语句


96

我想在我的网站上写一个基本的if语句来显示第1项或第2项,这取决于变量是否设置为true。

我对.NET不太熟悉,需要一些有关如何获取if语句以在aspx页上工作的基本结构的帮助

Answers:


191

如果目的是显示或隐藏页面的一部分,则可以执行以下操作

1)将其包装在标记中

<% if(somecondition) { %>
   some html
<% } %>

2)将部件包装在Panel控件中,并在代码后面使用if语句设置Panel的Visible属性。


十三我想检查一个单选按钮,如果某些变量为真,怎么办。?
Ihsan chahi 2013年

示例代码为<input type =“ radio” id =“ Accept” name =“ optpost” value =“ 1” <%if(item.Accept == 1){check =“ checked”}%> class =“ Default” />
Ihsan chahi

我尝试过,但是没有用。这是我的代码,<% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>但仍显示
John Nguyen

@JohnNguyen您可以为此创建一个新问题,并以更具可读性的方式编写代码吗?
Kris van der Mast 2015年

@JohnNguyen这是因为您的标记被破坏了,最后,在这里:%>'>> </ asp:Label>这是很多的一个。希望这hasen't一直困扰你的3年由xD
埃里克·舍斯特伦

42

只需使用简单的代码

<%
if(condition)
{%>

html code

<% } 
else 
{
%>
html code
<% } %>

9

通常,您只需将代码粘贴Page_Load.aspx页面的代码隐藏中。

if (someVar) {
    Item1.Visible = true;
    Item2.Visible = false;
} else {
    Item1.Visible = false;
    Item2.Visible = true;
}

这是假设你已经有了Item1Item2奠定了网页上了。


我同意Daniel DiPaolo的观点,即如何最好地处理基于true / false变量的ASP.NET页面显示项目。
JohnH

4

要在ASPX页面上使用C#(C#脚本于2015年初始化),可以使用以下语法。

起始标签:- <% 结束标签:- %> 请确保所有C#代码都必须位于此<%%>

语法范例:-

  • <%@ Import Namespace="System.Web.UI.WebControls" %> (用于导入名称空间)参考一些用于ASPX页面的基本名称空间。

    <%@ Import Namespace="System.Web.UI.WebControls" %> <%@ Import Namespace="System.Diagnostics" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.Web.UI" %> <%@ Import Namespace="System.IO" %>

C#代码:-

`<%
if (Session["New"] != null)
{
    Page.Title = ActionController.GetName(Session["New"].ToString());
}
%>`

C#脚本的功能:

  • 无需编译。运行时执行类似于Java脚本。

使用C#脚本之前,请确保以下几点:-

  • 您正在使用WebForm。不在具有主页的WebForm上。
  • 如果您在具有母版页的WebForm中,请确保已在母版页文件中编写了C#脚本。
  • C#脚本可以插入到aspx页面中的任何位置,但是可以在页面元声明之后插入,例如

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Profile.master.cs" Inherits="OOSDDemo.Profile" %>

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %> (对于WebForm)


3

使用母版页的VB.NET aspx页的页眉中的可选内容的完整答案:

 <%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="some_vb_page.aspx.vb" Inherits="some_vb_page" %> 
 <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">          
     <% If Request.QueryString("id_query_param") = 123 Then 'Add some VB comment here, 
         'which will not be visible in the rendered source code of the aspx page later %>        
         <!-- add some html content depending on -->
         <!-- the condition in the if statement: -->                
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js" type="text/javascript" charset="utf-8"></script>
     <% End If %>
</asp:Content>

您当前的页面网址如下所示:

http://mywebpage.com/some_vb_page.aspx?id_query_param=123


2
<div>
    <% 
        if (true)
        {
    %>
    <div>
        Show true content
    </div>
    <%
        }
        else
        {
    %>
    <div>
        Show false content
    </div>
    <%
        }
    %>
</div>

1

这是用VB编写的一个ASPX页面的简单代码:

                If myVar > 1 Then
                    response.write("Greater than 1")
                else
                    response.write("Not!")
                End If

-11

C#

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

如果还有带源代码的示例... Asp.Net中的If..else

atter


我认为他并没有为if语法而苦恼,更多与如何将其包含在带有语句块中HTML代码的ASP页面上有关。
dmoney

记住这是aspx,需要剃须刀标签!
史蒂文·布莱克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.