- - PR -
asp.netのコントロールの配列の使い方を教えてください。
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-06-10 20:12
初めて書きます。
現在開発でasp.netの勉強中なのですが、コントロールの配列を使うとブラウザで表示するときエラーになります。 問題の部分は下で Dim ar(3) As RadioButtonList For i As Integer = 0 To 6 dr.Read() ar(i).Items.Add(New ListItem(dr("A"), dr("Qid"))) 全体のソースはこちらです。上の部分がなければ問題ありませんでした。よろしくお願いします。 Imports System.Data.SqlClient Imports System.Data Public Class Qradio3 Inherits System.Web.UI.Page Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then Dim ar(3) As RadioButtonList //配列宣言 Dim cn As New SqlConnection("Data Source=(local); Initial Catalog = Northwind;Integrated Security=SSPI;") ' ページを初期化するユーザー コードをここに挿入します。 Dim cmd As New SqlCommand("SELECT * FROM Qn", cn) cn.Open() Dim dr As SqlDataReader = cmd.ExecuteReader() For i As Integer = 0 To 6 dr.Read() ListBox1.Items.Add(dr("A")) ListBox1.Items.Add(dr("Qid")) ar(i).Items.Add(New ListItem(dr("A"), dr("Qid"))) ar(i).Items.Add(New ListItem(dr("A"), dr("Qid"))) Next dr.Close() cn.Close() End If End Sub End Class Next [ メッセージ編集済み 編集者: yyy wei 編集日時 2005-06-23 15:54 ] | ||||
|
投稿日時: 2005-06-10 20:27
エラーがでるのなら、エラーの内容を書きましょう。
おそらくRadioButtonListのインスタンスを生成してないからです。 とりあえず、初心者向けの本を購入することをおすすめします。。。 | ||||
|
投稿日時: 2005-06-10 21:19
そしてその後、ArgumentOutOfRangeException というエラーが出ましたけどどうすれば良いでしょうという質問が来る訳ですね
| ||||
|
投稿日時: 2005-06-10 21:34
返信ありがとうございます。
エラーメッセージは [NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。] WebApplication1.Qradio3.Page_Load(Object sender, EventArgs e) +378 System.Web.UI.Control.OnLoad(EventArgs e) System.Web.UI.Control.LoadRecursive() System.Web.UI.Page.ProcessRequestMain() です。 あれから インスタンスを生成するために、いろいろ試行錯誤したのですが、やっぱりできませんでした。 RadioButtonListのクラスライブラリーを見ても、理解できませんでした。 どのようにすればいいのでしょうか? | ||||
|
投稿日時: 2005-06-10 23:38
どのように試行錯誤したかを書きましょう。必要であれば最小限のソースを書くと解答しやすいです。 まぁ、インスタンスを生成すればすむことなんですけど。。。 | ||||
|
投稿日時: 2005-06-11 01:59
まぁ、インスタンス生成をするための構文を理解しましょう。 と言うことで、対象となる言語のリファレンスでも読んだらどうですか? _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-06-17 10:30
返事が遅くなりました。
やはりインスタンス生成が問題だったようです。 コントロール配列を作ればできるとだけ思ってて、 for文の中でRadioButtonListのインスタンスを作ってIDを指定して識別する方法は思いつきませんでした。というかコントロールのインスタンスを作る発想がなかった。「ASP.NET ラーニングマスター」という入門書を買い、やっとわかりました。いままで持っていた「ASP.NETでいってみよう」はわかりやすいけど、私には敷居が高く基本的な理解ができませんでした。 みなさん皆さんご指摘ありがとうございました。 最終的にしたのコードになって、アンケートファームが完成しました。 Dim myradiolist As RadioButtonList For i As Integer = 0 To Maxid - 1 myradiolist = New RadioButtonList Dim s As Integer = i While (s <= i + Dis(Qid_Stock(i)) - 2) dr.Read() With myradiolist .ID = i.ToString .Items.Add(dr("A")) End With s = s + 1 End While Next i | ||||
1
