ถ้าคำสั่งในหน้า aspx


98

ฉันต้องการเขียนคำสั่ง if พื้นฐานบนไซต์ของฉันเพื่อแสดงรายการ 1 หรือรายการ 2 ขึ้นอยู่กับว่าตัวแปรถูกตั้งค่าเป็นจริงหรือไม่

ฉันไม่ค่อยคุ้นเคยกับ. NET และต้องการความช่วยเหลือเล็กน้อยเกี่ยวกับโครงสร้างพื้นฐานในการรับคำสั่ง if เพื่อทำงานบนหน้า aspx

คำตอบ:


193

หากมีจุดประสงค์เพื่อแสดงหรือซ่อนส่วนหนึ่งของหน้าคุณสามารถทำสิ่งต่อไปนี้ได้

1) ห่อด้วยมาร์กอัปด้วย

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

2) ห่อชิ้นส่วนในแผงควบคุมและในโค้ดด้านหลังใช้คำสั่ง if เพื่อตั้งค่าคุณสมบัติที่มองเห็นได้ของแผงควบคุม


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> <% } %>แต่ยังคงแสดงอยู่
John Nguyen

@JohnNguyen คุณสามารถสร้างคำถามใหม่สำหรับสิ่งนี้และสร้างรหัสให้อ่านง่ายขึ้นได้หรือไม่?
Kris van der Mast

@JohnNguyen เป็นเพราะมาร์กอัปของคุณเสียในที่สุดที่นี่:%> '>> </ asp: ป้ายกำกับ> เป็นหนึ่ง> มาก หวังว่าสิ่งนี้จะไม่รบกวนคุณเป็นเวลา 3 ปี xD
Eric Sjöström


9

โดยปกติคุณจะติดโค้ดไว้Page_Loadใน.aspxโค้ดหลังของเพจ

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

สิ่งนี้จะถือว่าคุณได้รับItem1และจัดItem2วางในหน้าแล้ว


ฉันเห็นด้วยกับ Daniel DiPaolo เกี่ยวกับวิธีที่ดีที่สุดในการจัดการรายการแสดงเพจ ASP.NET แบบสลับตามตัวแปรจริง / เท็จ
JohnH

5

คำตอบที่สมบูรณ์สำหรับเนื้อหาเสริมในส่วนหัวของเพจ 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)




-11

ค#

  if (condition)
    statement;
  else
    statement;

vb.net

  If [Condition] Then
    Statement
  Else
    Statement
  End If

ตัวอย่างอื่นที่มีซอร์สโค้ด ... If..else ใน Asp.Net

รูปแบบ


ฉันไม่คิดว่าเขากำลังดิ้นรนกับไวยากรณ์ if แต่จะทำอย่างไรกับการรวมสิ่งนี้ไว้ในหน้า ASP ด้วยรหัส HTML ในบล็อกคำสั่ง
dmoney

จำไว้ว่านี่คือ aspx และต้องการแท็กมีดโกน!
Steven Black
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.