在Ajax回发后隐藏的上下文弹出窗口

时间:2010-11-30 11:29:54

标签: c# javascript asp.net jquery asp.net-ajax

我正在使用这个jQuery上下文弹出菜单扩展: http://www.trendskitchens.co.nz/jquery/contextmenu/

此上下文菜单绑定到ASP.NET树视图,为所有项添加上下文菜单。

全部包含在更新面板中。

为了在右键单击时选择项目,我使用JQuery来解析HREF的回发,该回发通常在单击树项时触发,并对此HREF使用eval()。这导致回发到IIS。紧接着是我的JQuery代码,用于显示上下文菜单。只要IIS返回更新的页面数据,就会出现上下文菜单。

关于人们如何认为最好接近这一点的一些一般性建议之后。我可以通过让用户在右键单击之前单击树节点来避免这种情况,但这似乎不直观。

1 个答案:

答案 0 :(得分:0)

嘿山姆,据我所知,整个想法从一开始就是错误的,我是.Net开发人员,但我总是避免在我的应用程序中引入更新面板,如果你在窗帘后面看看你会看到更新面板在应用程序中插入一个表单标签,它在服务器上运行,尝试在VS中插入两个表单与runat服务器属性一个在另一个VS中看看他们说的:)。说实话,使用模板作为布局构建上下文菜单相当容易;这是大约3个小时的工作和其他几个测试。    回到你的问题。我看到你有两个选择:要么学习如何从javascript打开菜单,要么在回发之前保持位置在隐藏字段内(点击/打开),然后在回发后重新打开所需位置/组件的菜单,要么搜索实际发回帖子的代码并在您的情况下阻止它。可能是一个点击,如果是这样你需要的是一个ev.preventDefault(),可能是一个提交,然后你需要设置一个变量,并在提交返回false或类似的东西。如果没有看到有这种“坏”行为的页面,无法真正给你实际的代码解决方案,无论如何,如你所说,左键点击不直观,坦率地说在这种情况下不是一个选项。