這太令人沮喪了。我做了這一百萬次!出於某種原因,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