簡體   English   中英

無法使用 @Import Namespace= 從 .aspx 頁面上的單獨 class 獲取變量

[英]Unable to get variables from a seperate class on the .aspx page using @Import Namespace=

我有一個使用 C# 作為后端的 ASP.net web 應用程序。 我有一個 class 我想在 my.aspx 頁面上訪問的唯一變量。

我在微軟網站上看到了一個很好的例子: https://forums.asp.net/t/2127062.aspx?How+to+access+the+class+declared+Public+Variable+to+ASPX +頁面+

這是我的 Action.aspx 頁面的部分代碼:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Action.aspx.cs" Inherits="Admin_Test Action" %>

<% @Import Namespace="TestClass" %>

<!DOCTYPE html>

<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

和 TestClass.cs 文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Admin_Test
{
    public class TestClass
    {
        public string ItemType = "TEST VALUE";
    }
}

在.aspx 頁面中,我通過 class 名稱導入 class。 但是,當我運行代碼時,我收到消息“找不到類型或命名空間名稱‘TestClass’(您是否缺少 using 指令或程序集引用?)

TestClass.cs 文件與 Action.aspx/Action.aspx.cs 文件位於同一文件夾中。 它應該看到它,但由於某種原因沒有。

任何幫助,將不勝感激。

埃里克

附錄-響應 Orvar 的失敗代碼...

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Action.aspx.cs" Inherits="Admin_Test.Visual.Content.Action" %>

<% @Import Namespace="Admin_Test" %>

<!DOCTYPE html>

<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

    <%-- <meta http-equiv="X-UA-Compatible" content="IE=7, chrome=1"/>--%>
    <meta http-equiv="x-ua-compatible" content="IE=edge" />
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
    <meta http-equiv="Expires" content="0" />
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="../js/jquery.validate.js"></script>
    <script type="text/javascript" src="../js/ui/ui.core.js"></script>
    <script type="text/javascript" src="../js/ui/ui.datepicker.js"></script>
    <link rel="stylesheet" type="text/css" href="itemtypes/CommonCSS/valueadded.css" />
    <link type="text/css" href="../js/ui/themes/base/ui.all.css" rel="stylesheet" />

    <title></title>

    <script type="text/javascript">

        var bValid = false;

        var ItemType = UniqueVar.itemtype;

class 的文件名為 UniqueVar。 它的 Class 名稱是 UniqueVar。 它的命名空間是 Admin_Test。

看起來您需要將命名空間而不是 class 名稱添加到導入中,如下所示:

<% @Import Namespace="Admin_Test" %>

也許可以改為獲得如下值。 通過將值放入頁面的代碼隱藏文件中:

public partial class _Default : System.Web.UI.Page
{
    protected string ItemType;
    protected void Page_Load(object sender, EventArgs e)
    {
        ItemType = "TEST VALUE";
    }
}

<script type="text/javascript">
     ////Getting variable from asp.net code behind  
      alert("<%=ItemType%>");
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM