在ajax模式弹出窗口中打开.aspx页面在新窗口中打开

问题描述:

我试图在INSIDE ajax模式弹出窗口的单独窗口中打开一个preview.aspx页面。 我已经尝试使用onClientCLick preview.target _blank等客户端脚本来做到这一点,但这根本不起作用。 现在我已成功地我lbPreview_Click例行内至少得到这个工作,但是这需要一个第二个点击,因为我使用的Attributes.Add打开窗口(仅会到目前为止的工作方式!):在ajax模式弹出窗口中打开.aspx页面在新窗口中打开

protected void lbPreview_Click(object sender, EventArgs e) 
{ 
    string recordNo = lblRecordNo.Text; 
    string details = txtQuery.Text; 
    string reason = ddReason.SelectedItem.Text; 
    string fullName = lblFullName.Text; 
    string path = "emailPreview.aspx?recordNo=" + recordNo + "&details=" + details + "&reason=" + ddReason.SelectedItem.Text + "&fullName=" + fullName + ""; 
    lbPreview.Attributes.Add("onClick", "window.open('" + path + "');"); 
} 

请注意:我没有建立我的网址路径的值,直到按钮被点击,所以调用页面加载或类似的细节也无效。

任何建议/帮助将非常感激。

亲切的问候, ukjezza。

您应该使用java-script来查找控制值来构建URL并打开窗口。例如,考虑下面的aspx页面上的js函数

function openPreview() { 

    var recordNo = document.getElementById('<%= lblRecordNo.ClientID %>').innerHTML; 
    var details = document.getElementById('<%= txtQuery.ClientID %>').value; 
    var reason = document.getElementById('<%= ddReason.ClientID %>').value; 
    var fullName= document.getElementById('<%= lblFullName.ClientID %>').innerHTML; 

    var url = "emailPreview.aspx?recordNo=" + recordNo + "&details=" + details + "&reason=" + reason + "&fullName=" + fullName; 

    window.open(url); 
} 

应该在点击预览按钮/链接时被调用。

+0

工作就像一个魅力,非常感谢您的帮助! :-) – ukjezza 2010-10-05 13:55:55