ASP.NET Web 表单和 React
ASP.NET Web Forms and React
我是 React 的新手,所以请多多包涵。
我做了一个简单的 ASP.NET Web Forms 项目,可以在 React 中成功打开一个页面。我的下一个问题是,是否可以从 React 页面打开一个包含 ASPX 页面内容的新弹出窗口,并以某种方式在两个页面之间进行通信?
场景:我们购买了使用 React 制作的简单布局设计器的访问权限,我们希望为 JSON 提供不同的设置。但是,这些设置当前来自生成 JSON 的 ASP.NET Web 表单页面(托管 ASCX 控件)。这种情况是完全不可能的吗?也许我们可以使用服务在两者之间进行通信,但重要的是这个第 3 方设计者(通过它的开发者,可以访问实现自定义功能,比如打开弹出窗口或类似的)可以打开我们拥有的设置弹出窗口在 ASP.NET Web 表单中创建。
如果这太复杂,我们将不胜感激任何关于如何实现它的想法。例如,iframe 仍然存在吗?还是有更好的新技术? (以防我们需要在 React 项目之外托管一个页面,该页面会进行回传)。
我希望我的解释是可以理解的,否则请告诉我,我会尽量详细说明。
希望能帮到你,先谢谢了!
为了澄清,我们已经聘请了第 3 方软件的开发人员来帮助我们实施解决方案,React-wise,所以我只需要找出这两个世界整合的可能性。
是 bootstrap、jQuery + jQuery.ui 对话,还是反应?他们都应该工作。但是,在所有情况下您不能做的是允许任何 post 返回您显示的对话框。一旦你做了 postback- 然后页面循环开始,它会弹出对话框。
而且这个问题并不真正限于网络表单,而是您现在在显示此类对话框时必须避免 post-back 的问题。当然,虽然 Web 表单在今天有些遗留,但它们非常容易将控件及其事件连接到代码背后。
不用说,采用其中一种具有所有这些出色对话框和小部件的框架?它们确实很好,但现在这意味着您必须编写 ajax 调用并避免 post-backs - 这可能需要大量工作。因此,即使 jQuery.UI 也可以将整个不同的 aspx 页面加载到 div 中并将其弹出? (而且效果很好)。好吧,你现在有一个很酷的不同页面作为对话框弹出窗体,但是当你这样做时你不能通过标准 asp.net 按钮和控件触发任何 post-backs。如前所述,这个问题并不真正限于 asp.net 网络表单,而只是网络表单 obvsilty 鼓励了很多 post-backs with code behind。这些 post-back 的往返次数是昂贵的,但是可以大大节省时间来轻松编写此类代码。
您可以尝试使用一个对话框表单,其中包含一个围绕确实会导致 post-backs 的控件的更新面板。
因此,在 Web 表单中,曾经是您的朋友并使编码变得非常容易的东西现在是您的敌人。 (那个敌人有很多 post-backs 和 round trips)。
因此,您必须放弃大量的代码和表单,这些代码和表单无法将 postbacks 简单地推入并放入某个弹出对话框表单中,因为该表单很可能有很多post-backs - 他们将关闭该对话框并开始往返过程。
只要记住以上几点?然后采用 bootstrap、jQuery.UI 对话框或 React 应该工作得很好——但你会花很多时间写出 ajax 调用,而那些对代码隐藏的调用将不会使用文本框和表单上的控件 - 因为它们仍位于浏览器 + 用户桌面上,并且在您对服务器端代码进行 ajax 调用时不会出现。
我是 React 的新手,所以请多多包涵。
我做了一个简单的 ASP.NET Web Forms 项目,可以在 React 中成功打开一个页面。我的下一个问题是,是否可以从 React 页面打开一个包含 ASPX 页面内容的新弹出窗口,并以某种方式在两个页面之间进行通信?
场景:我们购买了使用 React 制作的简单布局设计器的访问权限,我们希望为 JSON 提供不同的设置。但是,这些设置当前来自生成 JSON 的 ASP.NET Web 表单页面(托管 ASCX 控件)。这种情况是完全不可能的吗?也许我们可以使用服务在两者之间进行通信,但重要的是这个第 3 方设计者(通过它的开发者,可以访问实现自定义功能,比如打开弹出窗口或类似的)可以打开我们拥有的设置弹出窗口在 ASP.NET Web 表单中创建。
如果这太复杂,我们将不胜感激任何关于如何实现它的想法。例如,iframe 仍然存在吗?还是有更好的新技术? (以防我们需要在 React 项目之外托管一个页面,该页面会进行回传)。
我希望我的解释是可以理解的,否则请告诉我,我会尽量详细说明。
希望能帮到你,先谢谢了!
为了澄清,我们已经聘请了第 3 方软件的开发人员来帮助我们实施解决方案,React-wise,所以我只需要找出这两个世界整合的可能性。
是 bootstrap、jQuery + jQuery.ui 对话,还是反应?他们都应该工作。但是,在所有情况下您不能做的是允许任何 post 返回您显示的对话框。一旦你做了 postback- 然后页面循环开始,它会弹出对话框。
而且这个问题并不真正限于网络表单,而是您现在在显示此类对话框时必须避免 post-back 的问题。当然,虽然 Web 表单在今天有些遗留,但它们非常容易将控件及其事件连接到代码背后。
不用说,采用其中一种具有所有这些出色对话框和小部件的框架?它们确实很好,但现在这意味着您必须编写 ajax 调用并避免 post-backs - 这可能需要大量工作。因此,即使 jQuery.UI 也可以将整个不同的 aspx 页面加载到 div 中并将其弹出? (而且效果很好)。好吧,你现在有一个很酷的不同页面作为对话框弹出窗体,但是当你这样做时你不能通过标准 asp.net 按钮和控件触发任何 post-backs。如前所述,这个问题并不真正限于 asp.net 网络表单,而只是网络表单 obvsilty 鼓励了很多 post-backs with code behind。这些 post-back 的往返次数是昂贵的,但是可以大大节省时间来轻松编写此类代码。
您可以尝试使用一个对话框表单,其中包含一个围绕确实会导致 post-backs 的控件的更新面板。 因此,在 Web 表单中,曾经是您的朋友并使编码变得非常容易的东西现在是您的敌人。 (那个敌人有很多 post-backs 和 round trips)。
因此,您必须放弃大量的代码和表单,这些代码和表单无法将 postbacks 简单地推入并放入某个弹出对话框表单中,因为该表单很可能有很多post-backs - 他们将关闭该对话框并开始往返过程。
只要记住以上几点?然后采用 bootstrap、jQuery.UI 对话框或 React 应该工作得很好——但你会花很多时间写出 ajax 调用,而那些对代码隐藏的调用将不会使用文本框和表单上的控件 - 因为它们仍位于浏览器 + 用户桌面上,并且在您对服务器端代码进行 ajax 调用时不会出现。