繁体   English   中英

弹出窗口不起作用

[英]Pop-up window not working

我有一个.net页面,当文件背后的代码未满足某些条件时,它需要打开一个新的弹出窗口。 我有以下代码:

private bool isValidPart(string partNo)
{
    if (!string.IsNullOrEmpty(partNo))
    {
        DataBase.DBManager dm = new DBManager();

        if (!Convert.ToBoolean(dm.ExecScalar("usp_getPart", partNo)))
        {
            string url = "test.aspx";
            string s = "window.open('" + url + "', 'popup_window', 'width=300,height=100,left=100,top=100,resizable=yes');";
            ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);
            return false;
        }
    }
    return true;
}

我设置了一个断点并进行了验证。 它命中了这一行,但没有打开弹出窗口。 它只是简单地移至下一行并返回false。

请问原因是什么?


@ yog2411这是检查isvalidpart()的代码

                                             private bool SetRowData()
    {
        int rowIndex = 0;
        if (ViewState["CurrentData"] != null)
        {
            DataTable dtCurrentData = (DataTable)ViewState["CurrentData"];
            DataRow drCurrentRow = null;
            if (dtCurrentData.Rows.Count > 0)
            {
                for (int i = 1; i <= dtCurrentData.Rows.Count; i++)
                {
                    TextBox TextCustomerName = (TextBox)gvInventory.Rows[rowIndex].Cells[1].FindControl("txtCustomerName");
                    TextBox TextPONumber = (TextBox)gvInventory.Rows[rowIndex].Cells[2].FindControl("txtPONumber");
                    TextBox TextPartNumber = (TextBox)gvInventory.Rows[rowIndex].Cells[3].FindControl("txtPartNumber");
                    TextBox TextQuantity = (TextBox)gvInventory.Rows[rowIndex].Cells[4].FindControl("txtQuantity");
                    //TextBox TextReqShipDate = (TextBox)gvInventory.Rows[rowIndex].Cells[5].FindControl("txtReqShipDate");
                    if (!isValidPart(TextPartNumber.Text))
                        return false;
                    drCurrentRow = dtCurrentData.NewRow();
                    drCurrentRow["RowNumber"] = i + 1;
                    dtCurrentData.Rows[i - 1]["CustName"] = TextCustomerName.Text; 
                    dtCurrentData.Rows[i - 1]["PONum"] = TextPONumber.Text;
                    dtCurrentData.Rows[i - 1]["PartNum"] = TextPartNumber.Text;
                    dtCurrentData.Rows[i - 1]["Qty"] = TextQuantity.Text;
                   // dtCurrentData.Rows[i - 1]["ReqShipDate"] = TextReqShipDate.Text;                     
                    rowIndex++;                      
                }
                ViewState["CurrentData"] = dtCurrentData;
                gvInventory.DataSource = dtCurrentData;
                gvInventory.DataBind();}
        }
        SetPreviousData();
        return true;
    }

尝试编写一个JS函数

function showMyPopUp(myUrl) {
    //I have this settings and it works like a popUp, 
    //I just going to write the properties you have, but you can change them for these ones
    //var CustomFeatures = 'titlebar=no, status=no,menubar=no,resizable=no,scrollbars=no,toolbar=no,location=no,width=300,height=100,top=100,left=100';
    var CustomFeatures = 'resizable=yes,width=300,height=100,top=100,left=100';
    window.open(myUrl, '_blank', CustomFeatures, true);
}

在您的C#中

string url = "test.aspx";
string myCallfunction = "showMyPopUp('" + url + "');"
ScriptManager.RegisterStartupScript(this, this.GetType(), "Funct", myCallfunction , true);

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM