【问题标题】:Client side modal dialog in asp.net from the server side code. (how do I do this)来自服务器端代码的 asp.net 中的客户端模式对话框。 (我该怎么做呢)
【发布时间】:2008-11-18 23:15:10
【问题描述】:

我需要一种技术来处理看起来很简单的事情!

我有一个表单,在服务器端有一些逻辑用于验证。 如果服务器端代码表明存在问题,我想向客户端显示一个模式弹出窗口。

我无法让它以这种方式工作。

我发现如果我保留所有逻辑客户端,我可以使用javascript函数

window.showModalDialog("url","title", "style");

但是逻辑当前在服务器端。 这是一个 ASP.NET 3.5 Web 项目 - 有没有办法使用 AJAX 控件(如脚本管理器、更新面板等)来做到这一点?

谢谢!

【问题讨论】:

    标签: asp.net javascript ajax


    【解决方案1】:

    我知道您使用 ScriptManager 控件来执行此操作。基本上,您只需从服务器发送一行 JavaScript 即可立即执行。在这种情况下,您描述的客户端线路。

    抱歉含糊其辞,但时间差不多了,我将不得不通过大量代码查找示例。

    Here is an example

    【讨论】:

      【解决方案2】:

      请注意,并非所有浏览器都支持模式对话框。

      如果您的服务器端验证失败,您可以使用 DHTML 并从服务器端设置 div 的可见性来完成类似的操作。

      您还可以查看 Telerik's RadWindow control,它旨在(部分)解决模态对话框问题。

      【讨论】:

        【解决方案3】:

        您需要使用 AJAX 回调来执行服务器端验证并向客户端返回响应 - 然后决定是否显示模式对话框......但是,为什么需要在服务器上进行验证?通常最好在客户端尝试验证以节省往返时间......

        【讨论】:

        • 他可能同时在验证客户端(为了速度)和服务器端(为了安全)。我不确定这种特定情况,但这就是为什么要进行服务器端验证的原因。
        • 或者,如果关闭了 javascript,则需要服务器端。但是等等,模态对话框也不起作用。没关系。
        • 是的,但他实际上说'我发现如果我保留所有逻辑客户端,我可以使用 javascript 函数'-我知道您可能会验证服务器端的原因,但在发布他为什么需要...
        【解决方案4】:

        你真的不应该使用模态弹出器。首先,它仅在 IE 中有效。其次,它真的对您的最终用户来说很烦人......

        您应该使用类似的东西,例如this;Ra-Ajax Clendar Starter-Kit(点击左下角的“新建活动”)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-28
          • 2020-08-30
          • 2011-02-12
          • 2012-05-26
          • 1970-01-01
          相关资源
          最近更新 更多