为什么dropdownlist的selectedIndex无法赋值

peters 2004-12-15 09:28:45
我自己写了一个控件,继承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
...全文
280 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
羊羽亻子 2004-12-15
  • 打赏
  • 举报
回复
dropdownlist.selecteditems.value
这样取试试
peters 2004-12-15
  • 打赏
  • 举报
回复
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

[assembly:TagPrefix("Controls","dropdown")]

namespace OASystem.Controls
{
/// <summary>
/// SelYesNO 的摘要说明。
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:SelYesNO runat=server></{0}:SelYesNO>")]
public class SelYesNO:System.Web.UI.WebControls.DropDownList
{


/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 HTML 编写器 </param>
protected override void Render(HtmlTextWriter output)
{
output.Write("<img id=\"icon"+base.ID+"\" src=\"../Common/no.gif\" width=\"20\" height=\"20\">");
output.Write(" <span onDblClick=CanChange("+base.ID+");>");
base.RenderBeginTag(output);
//base.RenderContents(output);
output.Write("<option value=\"是\">是</option>");
output.Write("<option selected value=\"否\">否</option>");
base.RenderEndTag(output);
output.Write("</span>");
}


protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);

writer.AddAttribute("OnChange","javascript:ChangeIcon(this,icon"+base.ID+");");

}

}
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧