【问题标题】:How to add two ajax extenders on same control in asp.net如何在 asp.net 中的同一控件上添加两个 ajax 扩展器
【发布时间】:2013-09-06 11:18:18
【问题描述】:

我有一个下拉列表和一个文本框。下拉列表中有 2 个列表项,一个是名称,另一个是日期。我在文本框上添加了自动完成扩展器和日历控件扩展器。 因为从下拉列表中选择值后,用户必须在文本框中写入。我希望当用户选择名称自动完成扩展器工作并且当用户选择日期然后单击文本框时出现日历(即日历扩展器工作) 任何帮助都会得到帮助

【问题讨论】:

    标签: asp.net ajax


    【解决方案1】:

    我建议使用位于 http://www.asp.net/ajaxlibrary/ajaxcontroltoolkitsamplesite/ 的 AjaxControlToolkit

    然后,如果您想添加多个,只需引用 targetControlID。这是我的一个例子。

    <asp:TextBox ID="tbAddDealDate" runat="server" Width="80px" Wrap="False" CausesValidation="false"></asp:TextBox>
                        <ajaxToolkit:MaskedEditExtender ID="tbAddDealDate_MaskedEditExtender" runat="server"
                            Enabled="True" TargetControlID="tbAddDealdate" Mask="99/99/9999" MaskType="Date" AutoComplete="True" ClearMaskOnLostFocus="true">
                        </ajaxToolkit:MaskedEditExtender>
                        <ajaxToolkit:CalendarExtender
                            ID="CalendarExtenderAddDealDate"
                            TargetControlID="tbAddDealDate"
                            runat="server" />
    

    该网站有一些非常好的源代码示例,我相信它会对您有很大帮助。

    编辑:对不起,我读错了。我要做的是使用两个文本框并隐藏其中一个。例如,如果用户选择日期,则显示使用日历扩展器的文本框。如果他们用户选择名称,则自动完成功能文本框。这就是我的做法。这是我将使用的代码。我会在 asp 代码中设置两个文本框不可见。然后在选定的索引更改上插入下面的代码...

    protected void ddlDropDownList_SelectedIndexChanged(object sender, Eventargs e)
    {
        if(ddlDropDownList.Text == "Date")
         {
            tbCalendar.Visible = true;
            tbName.Visible = false;
         }
    else if (ddlDropDownList.Text == "Name")
         {
            tbCalendar.Visible = false;
            tbName.Visible = true;
          }
    }
    

    同样在你的 asp 中,你会想要 AutoPostBack="true" 并把你的 OnSelectedIndexChanged 方法放在那里,所以 OnSelectedIndexChanged="ddlDropDownList_SelectedIndexChanged" 在你的下拉列表中。我希望这有帮助!在我看来,这将是最简单的解决方案!

    【讨论】:

    • 感谢您的回复,但我想在某些条件为真时启用一个扩展器,而在第二个条件为真时启用另一个扩展器
    • 哎呀,我的错。因为我没有正确阅读,所以一定是漫长的一天工作。我去看看能不能给你一些建议。
    • @TinkuRana 现在看看我的回答。这是一个非常简单的解决方案,我经常使用。希望对您有所帮助!
    • 我使用与thanxs相同的解决方案来回答
    猜你喜欢
    • 1970-01-01
    • 2018-03-14
    • 2019-12-07
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    相关资源
    最近更新 更多