私はstackoverflowとMicrosoft asp.netを使用してWebアプリケーションを開発するのが初めてです。私は開発ツールとしてMS Visual Studio Professional 2015を使用しています。asp.net:クラスコードファイルからラベルテキストを設定
私がしようとしているのは、学習目的で簡単なWebアプリケーションを作成することです。
- のWebForm1.aspx
- WebForm1.aspx.vb
- Code.vb(Visual Studioの2015ソリューションエクスプローラでサブフォルダ "コード" のクラスファイル)
私:私は3つのファイルを持っていますすべてのSubsをCode.vbという中央クラスファイルに複数の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のクリック時のイベントがコードビハインド中央コードクラスファイルをインポート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
私のaspxに私はボタンやラベルを持っていますこのクラスファイルでは、Sub SetLabelTextはLabel1のLabel-textを「some 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"はクラスタイプであり、式として使用することはできません
このようなことを行うことは可能でしょうか?私のコードは1つの中心的な場所に格納できるので、はるかに簡単です。事前に
Thxを、マルクス
通常、ui要素へのアクセスはプライベートであるため、クラス(ここではWebForm1 )に保存されます。あなたのコードクラスでは、ラベルを設定するのに必要なテキストを返すメソッドを持つことができます。ラベルを設定したいだけなら、私はリソースファイルを持っているのを見ています。あなたは単なる例に問題がありますか? –
あなたのヒントに感謝します。今問題を解決しました。 –