代码之家  ›  专栏  ›  技术社区  ›  Zo Has

将参数传递到弹出窗口?

  •  2
  • Zo Has  · 技术社区  · 14 年前

    我试图通过查询字符串(隐藏字段id&a文本框id)将参数传递到弹出窗口。但是,因为我使用的是母版页,所以id很长(ct100_someid)。有没有办法优雅地通过我的身份证?我可以缩短我的身份证或根本不显示给用户吗?请告诉我任何候补者。

    2 回复  |  直到 14 年前
        1
  •  2
  •   TheVillageIdiot    14 年前

    您可以在父页上定义函数,弹出窗口可以访问该函数来设置字段的值:

    在父页上

    function setHiddenValues(a,b,c){
        document.getElementById("<%= hiddenField1.ClientID%>").value = a;
        document.getElementById("<%= hiddenField2.ClientID%>").value = b;
        document.getElementById("<%= hiddenField3.ClientID%>").value = c;
    }
    

    在弹出页面上,用户选择行后:

    parent.setHiddenValues(val1, val2, val3);
    
        2
  •  2
  •   JumpingJezza    14 年前

    我喜欢加密querystring,这样好奇的用户就不会觉得有必要尝试替换 ?CustID=1&etc 具有 ?CustID=2&etc 例如。这只是为了方便,因为我还检查了后面的代码,以确保查看页面的客户是经过身份验证的,但IMHO看起来更专业。见 here 例如在vb.net中。

    要传递较短的名称,还可以使用jquery使用id属性而不是整个客户机id来选择隐藏字段,

    如: <asp:net HiddenField id="hdnName" runat="server" />

    var hiddenfield = $("element[id$=_hdnName]");