質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

1790閲覧

LayoutTemplate内でIDによる値設定について

kumakumatan

総合スコア213

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2021/05/11 23:57

編集2021/05/12 01:31

OS:windows7 Visual Studio:2017 .NET Framework:4.5

asp

1<asp:ListView ID="ListView" runat="server"> 2 <LayoutTemplate> 3 <div> 4 <ul> 5678 <li class="title"><asp:TextBox id="test1" runat="server" Text=""></asp:TextBox></li> 9101112 </ul> 13 <span id="itemPlaceholder" runat="server"></span> 14 </div> 15 </LayoutTemplate>

vb

1test1.Text = "テスト"

として「LayoutTemplate」内のid="test1"の値をVB側で設定したく考えていますが、
できないでいます。どのようにしたら設定できるのでしょうか?
入力した値によりタイトルを変更したく、仮にasp側のid=test1の値を設定してみたく
test1.Text = "テスト"としてみました。
どなたかご教授を宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/05/12 00:51 編集

開発環境(OS, Visual Studio, .NET Framework のバージョンなど)を質問欄を編集して追記してください。 質問者さんが VB 側にどのようなコードを書いたのか、質問欄を編集して追記してください。test1.Text = "テスト" だけでは不足です。 何故そのようなことがしたいのかのそもそもの目的、どのように TextBox を操作するのかのシナリオなども書いてください。目的にためには他にもっと良い手段があるかもしれませんので。
退会済みユーザー

退会済みユーザー

2021/05/12 01:45

何故そのようなことがしたいのかのそもそもの目的、どのように TextBox を操作するのかのシナリオなども書いてください。 「入力した値によりタイトルを変更したく」と質問欄に追記したようですが、タイミングの問題もあるのでそれだけでは不十分です。どういうシナリオで誰がどのようにどのタイミングで入力するのかを詳しく書いてください。
guest

回答1

0

ベストアンサー

質問者さん、無言になってしまって、質問への私のコメント、

「入力した値によりタイトルを変更したく」と質問欄に追記したようですが、タイミングの問題もあるのでそれだけでは不十分です。どういうシナリオで誰がどのようにどのタイミングで入力するのかを詳しく書いてください。

に返事がないので、LayoutTemplate の TextBox を取得して文字列を設定する方法だけ書いておきます。

ListView.LayoutCreated イベントの発生以降であれば FindControl メソッドを使って以下のように TextBox を取得して文字列を設定できます。

protected void ListView1_LayoutCreated(object sender, EventArgs e) { TextBox textbox = ListView1.FindControl("TextBox1") as TextBox; if (textbox != null) { textbox.Text = "テスト"; } }

そのタイミングで「入力した値によりタイトルを変更」ができるかどうかは分かりませんが、そこは自分で考えてください。

投稿2021/05/13 03:35

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kumakumatan

2021/05/13 04:31

返信遅くなり、申し訳ございません。 どのように記載するか考えておりました。 C#で記載されていますでしょうか?VB.netに自分なりに変換して Protected Sub ListView1_LayoutCreated(sender As Object, e As EventArgs) Handles ListView1.LayoutCreated Dim textbox As TextBox = ListView1.FindControl("TextBox1") If textbox IsNot Nothing Then textbox.Text = "テスト" End If End Sub としたら、固定でない、値が変更されるタイトルを入れる事ができました。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2021/05/13 05:54

C# ⇔ VB.NET の変換サービスがあるので使ってみてはいかがでしょう? https://converter.telerik.com/
kumakumatan

2021/05/14 00:37

ありがとうございます!すごく便利です! かなり助かります! 今後とも宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問