|
分類:[ASP.NET (VB)]
OS:Windows2000 Pro 開発環境:VB.Net2002
初めまして。ASP.Netのポストバックの処理で質問があります。 下記のソースの様にボタン、テキストボックス、コンボボックスを配置します。 Page_Load時にTableに対してrow、cellを追加し、 その中にコンボボックス、テキストボックスを追加しています。 この時に、ボタンを押下しポストバック処理が走るとテキストボックスの内容は保持されるのですが コンボボックスの選択状態が初期化されて値の保持ができないため困っております。
初歩的な質問かもしれませんが、回避策などありましたら、どなたかご教授願えないでしょうか?
【ソース WebForm1.aspx.vb】 Public Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents Button1 As System.Web.UI.WebControls.Button Protected WithEvents Table1 As System.Web.UI.WebControls.Table Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
#Region " Web フォーム デザイナで生成されたコード "
'この呼び出しは Web フォーム デザイナで必要です。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init ' CODEGEN: このメソッド呼び出しは Web フォーム デザイナで必要です。 ' コード エディタを使って変更しないでください。 InitializeComponent() End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IsPostBack = False Then Me.DropDownList1.Items.Add(New ListItem("東京", "1")) Me.DropDownList1.Items.Add(New ListItem("大阪", "2")) Me.DropDownList1.Items.Add(New ListItem("横浜", "3")) Me.DropDownList1.Items.Add(New ListItem("名古屋", "4")) Me.DropDownList1.Items.Add(New ListItem("札幌", "5")) End If
Dim row As TableRow = New TableRow() Dim cell1 As TableCell = New TableCell() Dim cell2 As TableCell = New TableCell() cell1.BorderWidth = UI.WebControls.Unit.Pixel(3) cell2.BorderWidth = UI.WebControls.Unit.Pixel(3)
Me.Table1.Rows.Add(row)
row.Cells.Add(cell1) row.Cells.Add(cell2)
cell1.Controls.Add(Me.DropDownList1) cell2.Controls.Add(Me.TextBox2)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub End Class
【ソース WebForm.aspx】 <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="FloodForecast.WebForm1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>WebForm1</title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body bgColor="beige"> <form id="Form1" method="post" runat="server"> <P> <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P> <P><FONT face="MS UI Gothic"><BR> <BR> <asp:Table id="Table1" runat="server" BorderWidth="3px" BorderColor="Black" Width="130px"></asp:Table><BR> <asp:DropDownList id="DropDownList1" runat="server"></asp:DropDownList><BR> <BR> <asp:TextBox id="TextBox2" runat="server" Width="159px"></asp:TextBox> </FONT> </P> </form> </body> </HTML>
|