2010-11-02 179 views
2

我想通过查询字符串(隐藏字段ID &文本框ID)将参数传递到弹出窗口。但是,由于我使用的是母版页,因此ID很长(ct100_someid)。有没有办法优雅地通过我的ID?我可以缩短我的ID或根本不显示给用户?请告诉我任何替代人。将参数传递给弹出窗口?

+0

上弹出你将如何使用IDS?在这些领域提供一些价值或从他们那里读些东西? – TheVillageIdiot 2010-11-02 06:28:59

+0

感谢您的回复。在我的弹出窗口中会有一些用户可以选择的项目,然后关闭弹出窗口并在父页面上设置文本框字段和隐藏字段值。 – 2010-11-02 06:36:45

回答

2

可以定义在父页面上可以通过弹出窗口访问设置结果的值:

在父页面上

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); 
+0

这是一个很好的工作。 – 2010-11-02 06:54:54

2

我喜欢加密查询字符串,所以好奇的用户不会强迫尝试用?CustID=2&etc代替?CustID=1&etc。这只是为了方便,因为我也会检查后面的代码,以确保查看页面的客户通过身份验证,但是恕我直言,看起来更专业。有关vb.net中的示例,请参见here

传递一个较短的名称,你也可以使用jQuery使用id属性而不是整个客户端ID选择隐藏字段,

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

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

+0

现在可能不是我的要求,但解释和方法非常丰富。 +1 – 2010-11-02 06:55:39

相关问题