初心者ですが、作成中の Web サイトについてサポートが必要です。
ユーザーが入力したテキストを分析するクラスがあり、クラスは適切な回答を見つけてテキストボックスに送り返します。(理論的には)
問題は、クラスから default.aspx ページのテキスト ボックスを制御およびアクセスする方法がわからないことです。「オブジェクト参照には非静的フィールドが必要です」というメッセージしか表示されません。
テキストボックスをデザイナーファイルで公開しましたが、まだ喜びはありません。:(
これも読みました:ソリューション内のクラスから ASP.NET ページのコントロールにアクセスするにはどうすればよいですか? 、これは私が達成しようとしていることの線に沿っていると思いますが、これを達成する方法について明確化/段階的な説明が必要です。
誰かが私を正しい方向に向けてくれることを願っています。
どうもありがとう、カル
これは、designer.cs ファイルに追加したコードです。
public global::System.Web.UI.WebControls.TextBox TextBox3;
public string MyTextBoxText
{
get
{
return TextBox3.Text;
}
set
{
TextBox3.Text = value;
}
}
これは私が作成したクラスメソッドです:
public static cleanseMe(文字列入力) {
string utterance = input;
string cleansedUtt = Regex.Replace(utterance, @"[!]|[.]|[?]|[,]|[']", "");
WebApplication1._Default.TextBox3.text = cleansedUtt;
}
私が知っている cleansedUtt 文字列を返すことはできますが、このクラス内で、このメソッドから上記のテキストボックスにこの文字列を追加することは可能ですか?
私もこの方法で試してみました。テキストボックスの名前とそのテキストボックスに追加する文字列を受け取るクラスを作成しました。ただし、default.aspxページでのみ機能し、異なるクラス内のテキストボックス名を認識しません。コードは次のとおりです。
public class formControl
{
public static void ModifyText(TextBox textBox, string appendthis)
{
textBox.Text += appendthis + "\r\n";
}