背景:目前我在<div id="TransactionStatus" runat="server" class="StatusBarCSS">God is Great!</div>
文件中有一个控件MasterPage.master
来显示交易状态。状态使用函数(参见代码1 )从ChildPage1.aspx
更新。如果以下代码保留在ChildPage中,情况就好了。
代码1
Private Sub PrinTransactionStatus(ByVal intMode As Integer, ByVal strMessage As String)
Dim objStatus As HtmlGenericControl = DirectCast(Master.FindControl("TransactionStatus"), HtmlGenericControl)
If objStatus Is Nothing Then
' do nothing
Else
' if the mode is 0 which means Error
If intMode = 0 Then
objStatus.Visible = True
objStatus.InnerHtml = "<b>Error: </b></span>" + strMessage.ToString()
objStatus.Style.Add("border-color", "red")
objStatus.Style.Add("background-color", "rgb(255, 242, 242)")
objStatus.Style.Add("color", "#000;")
ElseIf intMode = 1 Then
objStatus.Visible = True
objStatus.InnerHtml = "<b>Success: </b></span>" + strMessage.ToString()
objStatus.Style.Add("border-color", "green")
objStatus.Style.Add("background-color", "rgb(244, 255, 230)")
objStatus.Style.Add("color", "#000;")
End If
End If
End Sub
需要专业知识:由于上面的代码将被许多页面使用,我将整个代码作为公共共享程序移动到App_Code文件夹,但现在代码不再起作用了。
系统显示错误,因为未声明Master
。
我在这里错过了什么或做错了什么..感谢
只需添加,<%@ MasterType VirtualPath="~/SubPagesMaster.master" %>
ChildPage1.aspx
答案 0 :(得分:1)
不要将它放在共享过程中,而是创建一个基本的网页类并将该方法放在那里。
Imports Microsoft.VisualBasic
Namespace MyNameSpace
Public Class MyBaseWebPage
Inherits System.Web.UI.Page
Protected Sub PrinTransactionStatus(ByVal intMode As Integer, ByVal strMessage As String)
Dim objStatus As HtmlGenericControl = DirectCast(Master.FindControl("TransactionStatus"), HtmlGenericControl)
If objStatus Is Nothing Then
' do nothing
Else
' if the mode is 0 which means Error
If intMode = 0 Then
objStatus.Visible = True
objStatus.InnerHtml = "<b>Error: </b></span>" + strMessage.ToString()
objStatus.Style.Add("border-color", "red")
objStatus.Style.Add("background-color", "rgb(255, 242, 242)")
objStatus.Style.Add("color", "#000;")
ElseIf intMode = 1 Then
objStatus.Visible = True
objStatus.InnerHtml = "<b>Success: </b></span>" + strMessage.ToString()
objStatus.Style.Add("border-color", "green")
objStatus.Style.Add("background-color", "rgb(244, 255, 230)")
objStatus.Style.Add("color", "#000;")
End If
End If
End Sub
End Class
End Namespace
在每个网页代码后面更改继承以引用此页面。然后,您可以从后面的代码中引用该方法。
Partial Class Default2
Inherits MyNameSpace.MyBaseWebPage
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.PrinTransactionStatus(1, "message")
End Sub
End Class