将参数传递给弹出窗口?

时间:2010-11-02 06:09:46

标签: javascript asp.net

我正在尝试通过查询字符串(隐藏字段ID和文本框ID)将参数传递到弹出窗口。但是,由于我使用母版页,因此id非常长(ct100_someid)。有没有办法优雅地传递我的ID?我可以缩短我的ID或者根本不向用户显示它们吗?请告诉我任何替补。

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:2)

你可以在父页面上定义功能,可以通过弹出窗口访问它来设置fiedls的值:

在父页面上

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