0

我正在寻找一种连接 ASP:LinkBut​​ton 以显示为链接的方法,但在后台(100% 在后面的代码中,标记中没有虚拟的预填充表单)做一个表单发布(target=_blank)。我有一个要传递的表单操作、方法和参数,我将在 LinkBut​​ton 的“单击”事件中查询它们。实现这一目标的最佳方法是什么?

4

1 回答 1

1

好吧,有很多方法可以做我认为您正在尝试做的事情:)

一个问题; 标准弹出窗口不会触发事件处理程序调用,因为它们通过回发映射到我相信的页面。

如果您对仅 GET 提交感到满意:

选项 A:添加没有设置目标的链接按钮并设置回发事件处理程序以进行单击

设置您的 URL 并将其传递回页面到一个 JS 函数中,该函数将立即加载,例如或使用 jquery 等。

在 JS 函数中,您使用 window.open() 加载 URL,目标设置为“_blank”

效果:用户单击链接,所有代码都在服务器端计算出要显示的 URL,页面刷新到原来的位置,然后加载一个弹出窗口,显示新的 URL

选项 B:将链接设置为具有 target="_blank"

让它调用一个新页面或具有查询字符串参数的同一页面,您可以在 page_load() 中进行预处理

在新页面或控制代码块中,进行计算并将 Response.Redirect() 到新目标

效果:用户单击链接,没有页面刷新,只是一个新的弹出窗口立即重定向到新页面。我认为这是一个更清洁的解决方案!

如果您需要 POST 支持:

动态创建元素或 HTML 字符串,表示具有所有需要的输入元素的表单,并将其输出到弹出窗口(使用选项 b 作为粗略的启动模板),并让 onload 立即提交表单,这将执行 POST 到您通过服务器端脚本决定的 URL,其效果与选项 b 相同,但具有表单级别的 POST。

于 2010-11-02T03:25:43.280 回答