我們動態創建一個帶有可編輯下拉列表的網頁。但它不能在Chrome中編輯,它在IE中工作。以下是在頁面上動態創建的代碼和結果。C# - ASP.NET AJAX控件的組合框控件在Chrome中不可編輯
AjaxControlToolkit.ComboBox comboBox = GetComboBox(i);
sControlID = comboBox.ID;
comboBox.TabIndex = (short)(i + 100);
if (ca.List != null)
{
string[] sList = ca.List;
Array.Sort(sList);
for (int j = 0; j < sList.Length; j++)
comboBox.Items.Add(sList[j]);
}
ListItem li = comboBox.Items.FindByText(sVal);
if (li != null)
li.Selected = true;
else
{
li = new ListItem(sVal);
comboBox.Items.Add(li);
li.Selected = true;
}
tc.Controls.Add(comboBox);
}
我發現下面的代碼片段在底部經常script
標籤內的頁面,
Sys.Application.add_init(function() {
$create(Sys.Extended.UI.ComboBox, {"autoCompleteMode":3,"autoPostBack":true,"buttonControl":$get("comboBox2_comboBox2_Button"),"comboTableControl":$get("comboBox2_comboBox2_Table"),"dropDownStyle":1,"hiddenFieldControl":$get("comboBox2_comboBox2_HiddenField"),"optionListControl":$get("comboBox2_comboBox2_OptionList"),"selectedIndex":4,"textBoxControl":$get("comboBox2_comboBox2_TextBox")}, null, null, $get("comboBox2"));
});
正如你可以看到,在片段中textBoxControl
是申請此可編輯的文本下拉列表。如果我從代碼片段中刪除它("textBoxControl":$get("comboBox2_comboBox2_TextBox")
),它可以被編輯,但後面的按鈕不起作用,這意味着下拉列表不起作用。
任何想法這裏發生了什麼?提前致謝。
UPDATE:
我想,這是Ajax控件工具包,我認爲我張貼的片段是對這個問題的關鍵。當頁面加載時,它會更改並覆蓋原始元素。我檢查了關於此控件的文檔,發現dropDownStyle用於控制允許用戶編輯或不編輯的權限。但正如文件所說,有三個值是'DropDownList','DropDown'和'Simple'。但是當我改變這個值時它不起作用。
第一步,您在Chrome中遇到什麼控制檯錯誤(如果有的話)?請提供您用於創建組合的代碼。 –
沒有控制檯錯誤。 – Sky
你知道這個片段是什麼嗎? – Sky