button1.Attributes.Add(“onclick"“javascript: window.open

button1.Attributes.Add("onclick", "javascript:window.open('page1.aspx?CheckedItem=" + checkedItem.ToString() + "'');"); is not working properly

本文关键字:javascript window open quot onclick Attributes Add button1      更新时间:2023-09-26

我的客户端代码button1.Attributes。Add (" onclick "、" javascript: window.open("page1.aspx吗?CheckedItem = " + checkedItem.ToString () + " ', ' mywindow ', ');");不会在第一次点击时执行。但它的工作很好,从第二次点击开始。我在按钮点击事件中编写了这段代码。

我曾试图把这个在page_load,但问题是我需要从这个页面返回一个值。下面是代码

protected void btnPreview_Click(object sender, EventArgs e)
{
    //StringBuilder checkedItem = new StringBuilder();
    checkedItem.Length = 0;
    foreach (ListItem i in chkValidation.Items)
    {
        if (i.Selected)
        {
            if (string.IsNullOrEmpty(Convert.ToString(checkedItem)))
            {
                checkedItem.AppendFormat(i.Text);
            }
            else
            {
                checkedItem.AppendFormat(",");
                checkedItem.AppendFormat(i.Text);
            }
        }
        btn_Preview.Attributes.Add("onclick",
                                   "javascript:window.open('TimePhaseAttributePreview.aspx?CheckedItem=" + 
                                   checkedItem.ToString() + "','mywindow','menubar=0,resizable=0,width=350,height=250');");
    }

请帮帮我

将代码放在任何页面事件中。像employee, init . .或者使用RegisterClientScriptBlock

你需要使用OnClientClick,而不是OnCLick

将代码改为

button1.OnClientClick = "javascript:window.open('page1.aspx?CheckedItem=" + checkedItem.ToString() + "'
                        ,'mywindow',')";