我正在寻找一种方法来布线的ASP:LinkButton显示为一个链接,但在后台(100%在背后的代码,在标记中没有虚拟的预填充表单)做一个表单张贴(target=_blank)。我有一个表单操作、方法和参数要传递,我将在LinkButton的"click“事件中查询它们。实现这一目标的最佳方法是什么?
发布于 2010-11-02 11:25:43
有很多方法可以做我认为你正在尝试做的事情:)
一个问题是,标准弹出窗口不会触发事件处理程序调用,因为它们是通过回发映射到我相信的页面的。
如果您对仅获取提交内容感到满意:
选项A:添加未设置目标的链接按钮,并为单击设置一个回发事件处理程序
设置您的URL,并将其传递回页面中的JS函数,该函数将立即加载,例如,或使用jquery等。
在JS函数中,使用window.open()加载目标设置为"_blank“的URL。
效果:用户点击链接,所有的代码都是服务器端的,它计算出要显示的URL,页面刷新回原来的位置,然后加载一个显示新URL的弹出窗口
选项B:将链接设置为target="_blank“
使用可以在page_load()中预处理的查询字符串参数调用新页面或同一页面
在新页面或控制代码块中,对新目标执行计算和Response.Redirect()
效果:用户点击链接,不会刷新页面,只会立即弹出一个新页面,并重定向到新页面。我认为这是一个更干净的解决方案!
如果您需要POST支持:
动态创建元素或表示表单的HTML字符串,并将其输出到弹出窗口(使用选项b作为粗略的开始模板),并让onload立即提交表单,onload将通过服务器端脚本执行到您决定的URL的POST,其效果与选项B相同,但具有表单级别的POST。
https://stackoverflow.com/questions/4074581
复制相似问题