我試圖讓一個asp.net dropdownlist控件成爲一個dijit組合框,但它不工作。asp.net控件(.ascx)與dijit?
我已經嘗試過這樣的:
<asp:DropDownList ID="ddlUserID" dojoType="dijit.form.ComboBox" runat="server"
DataTextField="FullNameAndUserName"
CssClass="stdtext" DataValueField="UserID" AppendDataBoundItems="True"
AutoPostBack="True"
meta:resourcekey="ddlUserIDResource1" EnableTheming="False">
<asp:ListItem Text="(All Users)" Value="0" meta:resourcekey="ListItemResource1" />
</asp:DropDownList>
<script type="text/javascript" src="../scripts/dojo/dojo.js"></script>
<script type="text/javascript">
dojo.require('dijit.form.ComboBox');
</script>
的路徑的dojo.js相對於ascx控件的含父頁和負載細根據螢火。
呈現的HTML是這樣的:
<select id="invoiceReport1_ddlUserID" class="stdtext" dojotype="dijit.form.ComboBox" onchange="javascript:setTimeout('__doPostBack(\'invoiceReport1$ddlUserID\',\'\')', 0)" name="invoiceReport1$ddlUserID">
</select>
<script src="../scripts/dojo/dojo.js" type="text/javascript">
</script>
<script type="text/javascript">
</script>
<script type="text/javascript">
看着從http://docs.dojocampus.org/dijit/form/ComboBox 的例子,我不能明白爲什麼得到的選擇標記是不是一個組合框。
我也試過這樣:
HtmlGenericControl ctrl1 = new HtmlGenericControl("Script");
ctrl1.Attributes.Add("Type", "Text/Javascript");
ctrl1.Attributes.Add("src", "../Scripts/dojo/dojo.js");
this.Page.Header.Controls.Add(ctrl1);
HtmlGenericControl ctrl2 = new HtmlGenericControl("Script");
ctrl2.Attributes.Add("Type", "Text/Javascript");
ctrl2.InnerText = "dojo.require('dijit.form.ComboBox');";
this.Page.Header.Controls.Add(ctrl2);
有什麼建議?
加入後 ctrl1.Attributes.Add(「djConfig」,「parseOnLoad:true」); 我現在得到外觀上的問題... 我得到一個▼然後一個X然後一個文本框,然後所有的列表項目都顯示爲所有其他內容下的項目符號列表。 – 2010-01-11 02:16:54
onchange是直的JS,而不是url,所以你可能會想放棄「javascript:」 – peller 2010-01-11 15:39:09