Эквивалентно showModalDialog

У меня есть веб-приложение, в котором есть вызов showModalDialog, но по какой-то причине это не поддерживается Chrome, и я все же искал обходной путь, но безуспешно.

ShowModalDialog отображает страницу aspx с полем поиска, и сетка будет отображаться со всеми точками, когда пользователь выбирает любую ссылку deptname, имя должно отображаться в текстовом поле paren window.

function DisplayDept() 
{
    var Object = window.showModalDialog('../DeptList.aspx', null, 'location=0,center:yes,status=0,scrollbars=1,width=500,height=500');
    if (Object != null)
    {
        document.getElementById("<%=hdnDept.ClientID%>").value = Object.id;
        if(document.getElementById("<%=txtDname.ClientID%>").value!=Object.name)
        {
            document.getElementById("<%=txtDname.ClientID%>").value=Object.name;
            __doPostBack(document.getElementById("<%=txtDname.ClientID%>").name,''); 
        }
     }
}

 function LinkSelected(intCD, strName)
    {
         var obj=new Object();
         obj.id=intCD;
        obj.name=strName;
        window.returnValue = obj;
        window.close();
    }

Пробовал с методом window.open, но не смог передать выбранное поле из открытого окна в родительский элемент управления, задаваясь вопросом, что было бы идеальным решением для этого, поскольку я использовал asp.net web. приложение. Любое предложение / помощь по этому вопросу может помочь.

1 ответ

Сейчас я решил использовать windows.open, как показано ниже.

function DisplayDept() 
{
    var Object = window.open('../DeptList.aspx', null, 'location=0,center:yes,status=0,scrollbars=1,width=500,height=500');
 }

с последующим

function SetDept(Object) {
       if (Object != null)
      {
            document.getElementById("<%=txtDname.ClientID%>").value=Object.name;
            __doPostBack(document.getElementById("<%=txtDname.ClientID%>").name,''); 
        }

    }

А в детских окнах

function SelectIt(intTypeCD, strTypeName)
    {
        var obj=new Object();
         obj.id=intCD;
        obj.name=strName;
         window.opener.SetDept(obj);
        window.close();
    }
Другие вопросы по тегам