为什么dropdownlist的selectedIndex无法赋值
我自己写了一个控件,继承dropdownlist,可是在页面中,我始终无法初始化页面为指定的值,根据调试的情况来看,在赋值前和赋值后 selectedIndex都为 -1,代码如下所示:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim objBaoJian As New OASystem.Database.BaoJian
Dim data As New OASystem.Database.BaoJianData
Dim bjd As OASystem.Database.BaoJianData
Dim resultsSet As New DataSet
Dim resultsTable As New DataTable
Dim strID As String
Dim strTemp As String
strID = Request("ID")
hiddenid.Value = strID
If Not IsNumeric(strID) Then
Response.Write("<script language=javascript>alert('非法打开此页面!');history.back();</script>")
Response.End()
End If
If Me.IsPostBack Then
Dim Native As String
Native = Request("Native")
objBaoJian.varNative = Native
'---------------------------------
'不知为什么,这里用selectedValue得到的值也总是为空
If Request("Special") = "是" Then
objBaoJian.varSpecial = "1"
Else
objBaoJian.varSpecial = "0"
End If
objBaoJian.varBJNum = BJNum.Text
objBaoJian.varBuildCompany = BuildCompany.Text
objBaoJian.varComProperty = SelComProperty.SelectedValue
objBaoJian.varProject = Project.Text
objBaoJian.varAddress = txtAddress.Text
objBaoJian.varFileNO = FileNO.Text
objBaoJian.varApprovalTime = ApprovalTime.Text
objBaoJian.varInvestScale = InvestScale.Text
objBaoJian.varBuildScale = BuildScale.Text
objBaoJian.varFileNO = FileNO.Text
objBaoJian.varAppBiddingForm = TxtBidForm.Text
objBaoJian.varPlanCompleteDate = PlanCompleteDate.Text
objBaoJian.varPlanStartDate = PlanStartDate.Text
objBaoJian.varChargedFee = ChargedFee.Text
objBaoJian.varManager = Manager.Text
objBaoJian.varContactTel = ContactTel.Text
objBaoJian.varMemo = Memo.Text
Dim objMsg As New inc
If objBaoJian.UpdateBaoJian(strID) = True Then
Response.Write(objMsg.MessageBox("报建登记", "修改", True, "Mod_BaoJian.aspx", "Admin_Baojian.aspx"))
Else
Response.Write(objMsg.MessageBox("报建登记", "修改", False, "Mod_BaoJian.aspx", "Admin_Baojian.aspx"))
End If
Else
resultsSet = objBaoJian.GetBaoJian(strID)
resultsTable = resultsSet.Tables(bjd.BaoJian_TABLE)
If resultsSet.Tables(bjd.BaoJian_TABLE).DefaultView.Count >= 1 Then
With resultsTable.Rows(0)
BJNum.Text = .Item(bjd.BJNum_Field).ToString
BuildCompany.Text = .Item(bjd.BuildCompany_Field).ToString.Trim
Project.Text = .Item(bjd.Project_Field).ToString.Trim
txtAddress.Text = .Item(bjd.Address_Field).ToString.Trim
FileNO.Text = .Item(bjd.FileNO_Field).ToString.Trim
TxtBidForm.Text = .Item(bjd.AppBiddingForm_Field).ToString.Trim
If Not IsDBNull(.Item(bjd.ApprovalTime_Field)) Then
ApprovalTime.Text = .Item(bjd.ApprovalTime_Field).ToString
End If
InvestScale.Text = .Item(bjd.InvestScale_Field).ToString.Trim
BuildScale.Text = .Item(bjd.BuildScale_Field).ToString.Trim
'AppBiddingForm.SelectedValue = .Item(bjd.AppBiddingForm_Field).ToString.Trim
'AppBiddingForm.text = .Item(bjd.AppBiddingForm_Field).ToString.Trim
If Not IsDBNull(.Item(bjd.PlanCompleteDate_Field)) Then
PlanCompleteDate.Text = FormatDateTime(CType(.Item(bjd.PlanCompleteDate_Field), DateTime), DateFormat.ShortDate)
End If
If Not IsDBNull(.Item(bjd.PlanStartDate_Field)) Then
PlanStartDate.Text = FormatDateTime(CType(.Item(bjd.PlanStartDate_Field), DateTime), DateFormat.ShortDate)
End If
Manager.Text = .Item(bjd.Manager_Field).ToString.Trim
ContactTel.Text = .Item(bjd.ContactTel_Field).ToString.Trim
Memo.Text = .Item(bjd.Memo_Field).ToString.Trim
Dim i As Integer
For i = 0 To SelComProperty.Items.Count - 1
If Trim(SelComProperty.Items(i).Value) = .Item(bjd.ComProperty_Field).ToString.Trim Then
SelComProperty.SelectedIndex = i
End If
Next
'-------------------------------------------------------
'关键在这里,赋值前和武值后, Special.SelectedIndex 均为-1
If CInt(.Item(bjd.Special_Field)) = 1 Then
Special.SelectedIndex = 1
Else
Special.SelectedIndex = 0
End If
End With
End If
End If
End Sub