[英]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.