0

在我的页面中,我有一个下拉
Panel1
Panel2
按钮来移动下一个
onclick 显示 Panel1 中的下拉数据。面板 2 显示先前选择的数据。


当没有选择indropdown Panel1 设置为不可见时。

现在我想要如果在按钮的 dropdown.onclick 中没有选择任何内容,则会显示一条警报消息
“请为 panel1 选择数据,然后移动下一个”
,我之前使用 javascript 函数和 Next 按钮上的自定义验证功能完成了此操作。但现在我想将它升级到 Ajax。

Javascript代码:

   function Validate(sender, args)
    {
            if (document.getElementById("ctl00_rightContainer_ContentTable1_Panel1").style.display == 'none') {
                args.IsValid = false;
            }
            else {
                args.IsValid = true;
            }

    }


但是在尝试了 ajax 函数之后,我使用了可见属性,并且我在 javascript 中得到一个错误,说对象未找到,因为加载时 Panel1 是不可见的。我已经将我的休息功能升级到 ajax,但我不知道我应该这样做。

4

2 回答 2

0

如果通过 AJAX 你的意思是 Asp.net 更新面板那么它很容易但我不喜欢它。

将面板放在 UpdatePanels 中

不要忘记在顶部添加 ScriptManager:

<asp:ScriptManager runat="server" id="sc1"/>

<asp:UpdatePanel ID="up1" runat="server">
</asp:UpdatePanel>

对于下拉菜单,将 AutoPostBack 设置为 true。

下拉列表将有一个 selectedIndex 和 selectedindex 检查验证并显示下一个面板或消息

您可以显示这样的消息:

在标签中

或者

警报或一些 jQuery 弹出窗口

ScriptManager.RegisterStartUpScript(this.Page , typeof(Page) , "alertV" , "alert('Errors');" , true);

于 2013-02-14T06:43:03.323 回答
0

如果您将Visible服务器控件的属性设置为false它根本不会呈现,并且您无法从客户端代码中显示它。尝试设置style="display:none;"。这种方式面板将被呈现但不显示在页面上,您可以从 JavaScript 显示它。

于 2013-02-14T06:43:35.787 回答