簡體   English   中英

C#呈現的ASPX頁面中的動態菜單選項

[英]Dynamic menu options in an ASPX page rendered by C#

我有一個ASPX DropDownList,其ListItem必須從Dynamics CRM中的值動態填充。

觸發某些輸入標簽時更改頁面元素的可見性不是問題-用動態asp:ListItems填充asp:DropDownList是。

具體來說,在加載頁面時,下拉菜單中可見的ListItem必須從我們CRM中每小時更新的最新實體列表中即時填充。

據我所知,ASPX本身不能包含用於C#的邏輯,但是我不知道如何以這種方式填充ListItems。

我確實遇到了這個人的解決方案:

http://aspsnippets.com/articles/creating-dynamic-dropdownlist-controls-in-asp.net.aspx

但是在嘗試對其進行編譯以查看其功能時,我收到了有關多個表單標簽的錯誤。

有任何想法嗎?


具體來說,我有以下ASPX:

<asp:DropDownList id="location" runat="server" onselectedindexchanged="updateOther">
<asp:ListItem>North</asp:ListItem>
<asp:ListItem>South</asp:ListItem>
<asp:ListItem>West</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList id="other" runat="server">
<asp:ListItem>Option 1</asp:ListItem>
<asp:ListItem>Option 2</asp:ListItem>
<asp:ListItem>Option 3</asp:ListItem>
</asp:DropDownList>

我需要它,以便根據在“位置”下拉列表中選擇的位置,使用來自CRM的最新值來更改/更新“其他”中的可用選項。 同樣,“其他”中的值將從“ updateOther”方法中對我們的CRM數據庫進行的即時查詢中填充。

不知道我是否很好地理解了您的問題,但是如果我是您,我會將另一個下拉列表放入用戶控件中,通過jquery將查詢數據作為json參數傳遞給它,並在每次請求時將其加載,如下所示

        $.ajax({
            type: "POST",
            url: "default.aspx/LoadUserControl",
            data: "{query: '" + $("#location").val() + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                //Clear the div before load   
                $("#SomeDIVinYourPage").before(r.d);
            }
        });

在你的代碼背后

    [WebMethod]
    public static string LoadUserControl(string query)
    {
        using (Page page = new Page())
        {
            UserControl userControl = (UserControl)page.LoadControl("OtherUserControl.ascx");

            page.Controls.Add(userControl);
            using (StringWriter writer = new StringWriter())
            {
                page.Controls.Add(userControl);
                HttpContext.Current.Server.Execute(page, writer, false);
                return writer.ToString();
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM