我是新來的使用Microsoft asp.net的stackoverflow和開發Web應用程序。我使用MS Visual Studio Professional 2015作爲開發工具。asp.net:從類代碼文件中設置標籤文本
我想要做的是創建一個簡單的Web應用程序的學習目的。我有三個文件:
- WebForm1.aspx的
- WebForm1.aspx.vb
- Code.vb(在Visual Studio中的子文件夾 「代碼」 類文件2015年解決方案管理器)
我的想法是將所有的子函數存儲在名爲Code.vb的中心類文件中,這些函數由多個aspx文件使用。在我的ASPX我有一個按鈕和一個標籤:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Hello World" OnClick="Button1_Click" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
的Button1 onclick事件的代碼隱藏WebForm1.aspx.vb,其中進口中間代碼類文件調用的button1_Click:
Imports WebApplication1.CentralCode.Code
Public Class WebForm1
Inherits System.Web.UI.Page
Public Sub Button1_Click(sender As Object, e As EventArgs)
SetLabelText()
End Sub
End Class
在這個類文件,Sub SetLabelText應該將Label1的Label-text設置爲「某些文本」。
Namespace CentralCode
Public Class Code
Public Shared Sub SetLabelText()
WebApplication1.WebForm1.Label1.Text = "some text"
End Sub
End Class
End Namespace
行WebApplication1.WebForm1.Label1.Text =「一些文本」是紅色下劃線錯誤消息「WebApplication1.WebForm1.Label1」是「受保護」,並在這方面無法訪問和「WebForm1」是一種類別,不能用作表達式
是否有可能做類似的事情?這對我來說會容易得多,因爲我的代碼可以存儲在一箇中心位置。
Thx提前,馬庫斯
通常,訪問ui元素保留在類(這裏是WebForm1 ),因爲它們是私有的。在你的Code類中,你可以有一個方法返回你需要填充標籤的文本。如果你只是想填充標籤,我會看看有一個資源文件。你只是爲了例子而遇到麻煩嗎? –
感謝您的提示。現在解決了這個問題。 –