在同一个aspx页面中同时使用jqgrid和jquery-ui,ui的dialog弹窗一闪就关闭,如何让弹窗留住?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在同一个aspx页面中同时使用jqgrid和jquery-ui,ui的dialog弹窗一闪就关闭,如何让弹窗留住?相关的知识,希望对你有一定的参考价值。

在同一个aspx页面中同时使用jqgrid显示一个表格,用jquery-ui来实现把一个div作为模态弹窗。但是每次点击按钮弹窗后,一瞬间就自己关闭了,而且放在head里面的其他jquery代码又执行了一次,也就是页面刷新了。怎么让他弹出来后窗口留在页面上?怎么让他不刷新页面?

是不是 IE设置问题啊 。 进Iternate 选项 把 禁止弹出框 勾掉.
如果不行 就把之定义选项里的 Active 和script 插件设置调低一点追问

不是这个问题,我用的是chrome。已经调好了,谢谢回答。

参考技术A 模态弹出 看看追问

就是使用模态的。而且模态弹出后,弹出的dialog是操作不了的,就像是被那层灰色的东西给挡住了,但是可以通过tab键进行选择和操作

在 aspx 页面中使用 if else 和 eval

【中文标题】在 aspx 页面中使用 if else 和 eval【英文标题】:using if else with eval in aspx page 【发布时间】:2013-06-08 16:00:25 【问题描述】:

有没有办法在 aspx 页面上的以下 eval 中使用 else if。

目前我的div如下:

  <div class="tooltip" style="display: none">                                                                  
        <div style="text-align: center; font-weight: normal">
                Value = <%# Eval("Percentage") + "%" %>     
        </div>
  </div>

我想在我的 div 上使用以下逻辑:

If(Percentage < 50)
   display "0 %"
   else 
   display "percentage"

我尝试了类似的方法,但它不起作用:

if (<%# Eval("Percentage") %> < 50)

    Eval("0");

else

   <%# Eval("PassPercentage") + "%" %> 
 

我想知道在aspx页面上是否可以进行这样的操作。我不能在 aspx.cs 中这样做。

【问题讨论】:

为什么不能为此使用代码隐藏类? 我正在使用 div 在 jquery 工具提示中显示。我想在 aspx 页面上做。如果可能的话。 你可以使用三元运算符 ASP.NET using Bind/Eval in .aspx in If statement的可能重复 【参考方案1】:

你可以试试 c#

public string ProcessMyDataItem(object myValue)
 
  if (myValue == null)
   
   return "0 %"";
  
   else
  
     if(Convert.ToInt32(myValue) < 50)
       return "0";
     else
      return myValue.ToString() + "%";
  

 

asp

 <div class="tooltip" style="display: none">                                                                  
      <div style="text-align: center; font-weight: normal">
   Value =<%# ProcessMyDataItem(Eval("Percentage")) %> </div>
 </div>

【讨论】:

+1 谢谢!这也是一个可行的解决方案。但我正在寻找在 aspx 页面本身上做的事情。【参考方案2】:

如果您绝对不想使用代码隐藏,您可以尝试条件运算符:

<%# ((int)Eval("Percentage") < 50) ? "0 %" : Eval("Percentage") %>

假设字段Percentage 包含整数。

更新:VB.NET版本,以防万一,由tomasofen提供:

<%# If(Eval("Status") < 50, "0 %", Eval("Percentage")) %>

【讨论】:

用户要求使用 C#,但我从搜索引擎来到这里寻找 VB.NET 版本,所以我想这可以在未来帮助“另一个我”: 享受它【参考方案3】:

如果您尝试绑定的是一个模型类,您可以向它添加一个新的只读属性,例如:

public string FormattedPercentage

    get
    
        If(this.Percentage < 50)
            return "0 %";
        else 
            return string.Format("0 %", this.Percentage)        
     

否则,您可以使用 Andrei's 或 kostas ch。如果你不能修改类本身的建议

【讨论】:

谢谢!这很有帮助。但我没有使用百分比作为属性。但这将是将来有用的东西。【参考方案4】:
 <%if (System.Configuration.ConfigurationManager.AppSettings["OperationalMode"] != "live") %>
                        &nbsp;[<%=System.Environment.MachineName%>]
                        <%%>

【讨论】:

【参考方案5】:
<%# (string)Eval("gender") =="M" ? "Male" :"Female"%>

【讨论】:

通常避免只使用代码的答案。考虑添加description 或至少显示更多有助于解释代码的上下文。谢谢

以上是关于在同一个aspx页面中同时使用jqgrid和jquery-ui,ui的dialog弹窗一闪就关闭,如何让弹窗留住?的主要内容,如果未能解决你的问题,请参考以下文章

jqGrid 插件 (Tony Tomov, Oleg Kiriljuk) - 兼容 jQuery, jQuery UI

jqgrid 控制 详细页面 显示的 列

jqgrid子表格

jqgrid jsonReader 配置

jqGrid GridUnload / GridDestroy

发现实际页面内部是不是有 jqGrid 对象