Оператор if на странице aspx

98

Я хочу написать базовый оператор if на моем сайте, чтобы отображать либо элемент 1, либо элемент 2 в зависимости от того, установлено ли для переменной значение true.

Я не слишком знаком с .NET и мне нужна небольшая помощь с базовой структурой того, как заставить оператор if работать на странице aspx.

Брэд
источник

Ответы:

193

если цель состоит в том, чтобы показать или скрыть часть страницы, вы можете сделать следующее

1) заверните его в разметку

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

2) Оберните части в элемент управления Panel и в коде, используйте оператор if, чтобы установить свойство Visible для Panel.

Крис ван дер Маст
источник
XIII Я хочу установить переключатель, если какая-то переменная верна, как это сделать.?
Ihsan chahi
пример кода: <input type = "radio" id = "Accept" name = "optpost" value = "1" <% if (item.Accept == 1) {checked = "checked"}%> class = "Default" />
Ihsan chahi
Я пробовал, но не получается. это мой код, <% if (false) { %> <asp:Label ID="lblQuantity" runat="server" Text='<%# Convert.ToDouble(Eval("Quantity")).ToString("#####0") + " " + Eval("unitMsr") %>'>></asp:Label> <% } %>но он все еще отображается
Джон Нгуен
@JohnNguyen Можете ли вы создать для этого новый вопрос и сделать код более читабельным?
Крис ван дер Маст
@JohnNguyen Это потому, что ваша разметка сломана, в конце концов, вот здесь:%> '>> </ asp: Label> Это один> к большому. Надеюсь, это вас не беспокоит уже 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;
}

Это предполагает, что у вас уже есть Item1и Item2выложено на странице.

Даниэль ДиПаоло
источник
Я согласен с Даниэлем ДиПаоло в том, как лучше всего обрабатывать переключаемый элемент отображения страницы ASP.NET на основе переменной true / false.
JohnH
4

Полный ответ для необязательного содержимого в заголовке страницы 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>

Где ваш текущий URL-адрес страницы выглядит примерно так:

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

Мартин П.
источник
3

Чтобы использовать C # (сценарий C # был инициализирован в 2015 году) на странице ASPX, вы можете использовать следующий синтаксис.

Начальный тег: - <% Конечный тег: - %> Убедитесь, что весь код 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 # Script:

  • Нет необходимости в компиляции. Выполнение во время выполнения происходит как Java Script.

Перед использованием сценария 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)

Саджиб Чандан
источник
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

Если еще примеры с исходным кодом ... If..else в Asp.Net

Скороговорка

Скороговорка
источник
Я не думаю, что он боролся с синтаксисом if, скорее с тем, как включить его на страницу ASP с кодом HTML в блоках операторов.
dmoney 09
помните, что это aspx и нужны теги бритвы!
Стивен Блэк