这是一个简单的例子,说明这里发生了什么。
Default.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="default.aspx.vb" Inherits="base._default1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<% Response.Write(sName) %>
</div>
</form>
</body>
</html>
和default.aspx.vb背后的代码
Public Class _default1
Inherits System.Web.UI.Page
Public sName As String = "Jimmy"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
End Class
错误是
BC30451'sName'未声明。由于其保护级别,它可能无法访问。 base C:\ Users \ Jimmy \ Documents \ Visual Studio 2015 \ Projects \ base \ base \ teste \ default.aspx 12
问题出在哪里?
答案 0 :(得分:2)
最大的问题是,您的班级_default1
未标记为partial
班级。
应该是
Public partial Class _default1
Inherits System.Web.UI.Page
还有一点是,您的页面指令具有属性AutoEventWireup="false"
,并且您现在映射页面事件的方式将不起作用。因此将其设置为true而不是AutoEventWireup="true"
您的@Page
指令非常奇怪,如下所示。
<%@ Page AutoEventWireup="false" CodeBehind="default.aspx.vb" Inherits="base._default1" %>
总结;以下是您应该解决的问题
标记班级partial
设置AutoEventWireup="true"
将CodeBehind
属性更改为CodeBehind="default1.aspx.vb"
将您的Inherits
媒体资源更改为Inherits="your_namespace._default1"