前提・実現したいこと
Net-FrameWork 4.0
Windows10
VisualStudio 2010
構成
WebApplication1.aspx
WebUserControl.ascx (ajaxToolkit:ComboBoxを配置)
(ASP.NET ユーザーコントロール内にComboBoxを作成し候補リストを表示,入力されている内容(XXX)をテキストに表示したい)
発生している問題
読み込みボタンが押されると,コンボボックスに表示されている内容を取得してテキストに表示したいのですが
その処理の書き方がわかりません。
Private Sub btnREAD_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnREAD.Click TextBox1.Text = WebUserControl.ComboRiyu.Items <--- "このコンテキストではアクセス表示出来ません" というエラーになります。 End Sub
WebApplication1.aspxのデザイン
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebApplication1.aspx.vb" Inherits="WebPartList.WebApplication1" %> <%@ Register src="WebUserControl.ascx" tagname="WebUserControl" tagprefix="uc1" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <link href="~/Styles/style.css" rel="stylesheet" type="text/css" /> <title></title> </head> <form id="Form1" method="post" runat="server" DefaultFocus="SRART_YMD" > <div id="Div1" style="padding: 20px; " > <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <td class="style1" > ASPX</td> <td colspan="5" class="style1"> <ajaxToolkit:ComboBox ID="ComboBOX" runat="server" AutoCompleteMode="Append"> <asp:ListItem Selected="True"></asp:ListItem> <asp:ListItem Selected="True">AAA</asp:ListItem> <asp:ListItem Selected="True">BBB</asp:ListItem> <asp:ListItem Selected="True">CCC</asp:ListItem> </ajaxToolkit:ComboBox> </td> <asp:Button ID="btnREAD" runat="server" Height="25px" Text="読 込" /> <br /> <div id="twcol_2" style="width : 1500px; height: 500px; " > <uc1:WebUserControl ID="WebUserControl" runat="server" /> </div> </div> </form> </html>
WebApplication1.aspx
Public Class WebApplication1 Inherits System.Web.UI.Page Private Sub btnREAD_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnREAD.Click 'TextBox1.Text = WebUserControl.ComboRiyu.Items TextBox1.Text = ComboBOX.Text End Sub End Class
WebUserControl.ascxのデザイン
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="WebUserControl.ascx.vb" Inherits="WebPartList.WebUserControl" %> <!DOCTYPE html> <link href="~/Styles/style.css" rel="stylesheet" type="text/css" /> <style type="text/css"> .style1 { height: 25px; } </style> <div class="menseki"> <div class="left_01" style="width: 508px"> <table border="1"> <tr style="color: orange; text-align: center;background-color: #3366FF;"> <td colspan="5" ></td> </tr> <tr> <td class="style1" > 理 由</td> <td colspan="5" class="style1"> <ajaxToolkit:ComboBox ID="ComboRiyu" runat="server" AutoCompleteMode="Append"> <asp:ListItem Selected="True">XXX</asp:ListItem> <asp:ListItem Selected="True">AAA</asp:ListItem> <asp:ListItem Selected="True">BBB</asp:ListItem> <asp:ListItem Selected="True">CCC</asp:ListItem> </ajaxToolkit:ComboBox> </td> </tr> </table> </div> </div>
WebUserControl.aspxのデザイン
Public Class WebUserControl Inherits System.Web.UI.UserControl Public ReadOnly Property DropDownListItems As ListItemCollection Get Return ComboRiyu.Items End Get End Property End Class
前のスレッドで、自分で全く分かってないメチャクチャなコードを書いて他人に見てくれと投げるのは止めましょうとお願いしたはずですが。
質問をするなら、日本語で自分のやりたいことを文章で他人にきちんと伝えられるスキルを身に着けてからにしてくださいともお願いしたはずですが。「ゲットしたい」ってどういうこと?
前のスレッドで、自分で全く分かってないメチャクチャなコードを書いて他人に見てくれと投げるのは止めましょうとお願いしたはずですが。
質問をするなら、日本語で自分のやりたいことを文章で他人にきちんと伝えられるスキルを身に着けてからにしてくださいともお願いしたはずですが。「取得したい」ってどういうこと?
新規に入力したデータをDBに書き込みたいのですが?
どう書けばよいのですか?
Dim WK as integer = 取得したデータ と書けば良いのですか?
一読してみましょう → https://teratail.com/help/question-tips
そして、そしてそのガイドラインと、上に私が書いたこと(以下に再掲)をよく考えて質問文を書き換えてください。
自分で全く分かってないメチャクチャなコードを書いて他人に見てくれと投げるのは止めましょう。
質問をするなら、日本語で自分のやりたいことを文章で他人にきちんと伝えられるスキルを身に着けてからにしてください。
いずれも上に紹介したガイドラインに従えばできているはずです。それができないということであれば話は通じないので私は撤退します。
「WebUserControl.ascxのデザイン」のコードの ListItem が全部 Selected="True" になっているのは何故? 未選択状態からユーザーが選ぶのではないのですか?
XXX は初期リストには無くてユーザーが入力するという話では? なのに何故 <asp:ListItem Selected="True">XXX</asp:ListItem> が含まれているのですか?
ComboBox が直接 .aspx に配置されている場合なら望むことはできるのですか? であればそのコードを書いてください。そうしてもらえると何がしたいのか理解できそうですので。
XXX は初期リストには無くてユーザーが入力するという話では?
ユーザーが入力または選択された内容を取得したいという意味で画面コピーを作ってしまいました。
このあたりも注意します。
画面のハードコピーが小さくて申し訳ありません。
聞いたことに答える気はないようですね。自分は撤退します。