这太令人沮丧了。我做了这一百万次!出于某种原因,Firefox不会在我的下拉列表中选择一个项目。为什么? (它可以在IE找到)在ASP中选择项DropDownList:在FireFox中不起作用
ASPX页面
<asp:DropDownList ID="ddlPlan" runat="server" CssClass="TDSelect" Width="250px" AutoPostBack="true" DataTextField="Plan_Name" DataValueField="Plan_ID" />
ASPX.VB后面的代码
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
GetQueryStringInfo()
If Not Page.IsPostBack Then
InitDropDowns()
LoadTasks()
SetUI()
End If
Catch ex As Exception
lblResults.Text = "Error loading page: " & TeamDynamix.Error.TDError.HandleException(Me.DbConnStr, Me.UID, ex) & ": " & ex.Message
End Try
End Sub
Private Sub InitDropDowns()
'Plan'
'LOAD PLANS'
Using oDR As SqlClient.SqlDataReader = Common.GetSPDataReader(Me.DbConnStr, "PlansSelect", _
Common.MP("@UID", SqlDbType.VarChar, 40, Me.UID), _
Common.MP("@TID", SqlDbType.Int, 4, Me.TID))
If oDR.HasRows Then
ddlPlan.DataSource = oDR
ddlPlan.DataBind()
End If
'Clean up'
oDR.Close()
End Using
'INSERT BLANK ITEM'
ddlPlan.Items.Insert(0, "")
'IF PLANID IS SET, SELECT APPROPRIATE PLAN'
If PlanID > 0 Then
If ddlPlan.Items.FindByValue(PlanID) IsNot Nothing Then
ddlPlan.SelectedValue = PlanID
End If
End If
End Sub
我已经在Firefox收视源检查所提供的HTML。它似乎正确地创建了元素,并且所有选项(值和文本都设置正确),并且它还将selected =“selected”放置在列表中的相应项目上!所以我不确定为什么这个项目没有被选中。注意:它现在的工作,读来结束这个问题,看到新的“真实”的问题......
呈现的HTML
<select id="ddlPlan" class="TDSelect" style="width: 250px;" onchange="javascript:setTimeout('__doPostBack(\'ddlPlan\',\'\')', 0)" name="ddlPlan">
<option value=""/>
<option value="517">(Copy of) AAA</option>
<option value="500">(Copy of) andrew test</option>
<option value="249">(Copy of) Test</option>
<option value="359">Brandon's Test</option>
<option value="472">BTEST2</option>
<option value="1498">Date Issue Test</option>
<option value="1516">Date Issue Test</option>
<option value="1529">Date Issue Test</option>
<option value="367">Import</option>
<option value="91">Task Import</option>
<option value="331">Task Plan Import</option>
<option value="332">Task Plan Template Test </option>
<option value="520">test 456</option>
<option value="1464">test 456</option>
<option value="1520">test 456</option>
<option value="1480">Test Checking Out</option>
<option value="1527">Test Plan</option>
<option value="560">TestPlan-B</option>
<option value="1465">TestPlan-B</option>
<option value="1521">TestPlan-B</option>
<option value="605" selected="selected">Work Items</option>
</select>
IT刚出来工作
我刚刚发布,并回答这是因为它刚刚开始工作,没有任何明显的原因。那么问题就变成了:FireFox中是否存在某种缓存或其他机制会导致此行为?
凡PlanID首先设置? – 2009-12-29 15:09:42
你可以发布下拉框的呈现HTML代码片段吗? – 2009-12-29 15:09:59
PlanID来自查询字符串。它是页面类中的一个私有Int32变量。当我遍历代码时,它会得到适当的设置。 – 2009-12-29 15:10:34