Javascript MVC3Razor弹出窗口

Javascript MVC3Razor弹出窗口,javascript,asp.net-mvc-3,razor,internet-explorer-7,Javascript,Asp.net Mvc 3,Razor,Internet Explorer 7,我需要打开一个新的弹出窗口点击一个按钮在一个视图。新窗口应重定向到特定控制器中的特定actionmethod。我还需要为新弹出窗口的大小提供属性。 我一直在尝试以下代码: <input type="button" name = "ClickMe" Value="ClickMe" onclick= "javascript:window.open('/Home/Create/','Customer Search',height='window.screen.height - 100', wid

我需要打开一个新的弹出窗口点击一个按钮在一个视图。新窗口应重定向到特定控制器中的特定actionmethod。我还需要为新弹出窗口的大小提供属性。 我一直在尝试以下代码:

<input type="button" name = "ClickMe" Value="ClickMe" onclick= "javascript:window.open('/Home/Create/','Customer Search',height='window.screen.height - 100', width='200',left='window.screen.width - 250' ,top='10',status='no',toobar='no',resizable='yes',scrollbars='yes')"/>

按一下按钮,什么也没发生。我发现以下Javascript错误:

行:19
字符:1
错误:参数无效
代码:0

当我检查呈现的HTML的ViewSource时,我发现该行就是呈现按钮的那一行。
我正在使用WindowsVista和IE7。我正在VS 2010中使用Razor Engine开发MVC 3

提供的HTML在
onclick
中的
字符上有一些怪癖。尝试并编辑以下内容(为便于阅读,添加了换行符):


显著变化:

  • window.open()
    的第三个参数是一个JavaScript字符串,其中插入了计算值
  • 配置字符串中的参数已被删除
  • toobar
    → <代码>工具栏

根据他似乎已经一针见血的说法:

var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);
strWindowName

这是刚刚命名新窗口的字符串。当
的target属性


尊重html。尊重javascript。尊重您正在编写的框架,它已经从第二版到第三版进行了两大更改(验证和ajaxity),以应用更新、现代的原则。如果遵循这一原则(借助vs javascript synthax突出显示),您可以在较少的时间内纠正该错误


...
$(函数(){
$('#ClickMe')。单击(函数(){
window.open('/Home/Create/','CustomerSearch','height='+(window.screen.height-100)+',width=200,left='+(window.screen.width-250)+',top=10,status=no,toolbar=no,resizable=yes,scrollbars=yes');
});
});
正如我发现的,这是IE中窗口名中的空格问题——“客户搜索”。如果您删除该空间-“CustomerSearch”,它也将在IE中开始工作


<script type="text/javascript">
    //script for loading value to division
    $(function () {
        $('form').submit(function () {
            $.ajax({
                url: this.action, //you can redirect to your specific controller here..
                type: this.method,
                data: $(this).serialize(),
                success: function (result) {
                    $('#popUp').html(result);
                }
            });
            return false;
        });
    });
</script>

<script type="text/javascript">
    //Script for pop up dialog.
    $(function () {
        $('form').submit(function () {
            $("#popUp").dialog({
                modal: true,
                resizable: false
            });
        });
    });
</script>

<div id="popUp" >
</div>
//用于将值加载到分区的脚本 $(函数(){ $('form')。提交(函数(){ $.ajax({ url:this.action,//您可以在此处重定向到您的特定控制器。。 类型:this.method, 数据:$(this).serialize(), 成功:功能(结果){ $('#popUp').html(结果); } }); 返回false; }); }); //弹出对话框的脚本。 $(函数(){ $('form')。提交(函数(){ $(“#弹出窗口”)。对话框({ 莫代尔:是的, 可调整大小:false }); }); });
感谢您的及时回复。我不想这么说,但在“scrollbars=yes”之后立即缺少一个“'”。即使经过整改,问题依然存在。还有其他建议吗?@Vipul-Ouh,你说得对。它现在已经修复,但我相信archil已经用窗口名(
CustomerSearch
)击中了要害,参见:“此字符串参数不应包含任何空格。”谢谢。现在我想起了两年前我做的一件事,那就是必须提供窗口名才能打开新窗口。感谢您的及时回复。但问题依然存在。
<script type="text/javascript">
    //script for loading value to division
    $(function () {
        $('form').submit(function () {
            $.ajax({
                url: this.action, //you can redirect to your specific controller here..
                type: this.method,
                data: $(this).serialize(),
                success: function (result) {
                    $('#popUp').html(result);
                }
            });
            return false;
        });
    });
</script>

<script type="text/javascript">
    //Script for pop up dialog.
    $(function () {
        $('form').submit(function () {
            $("#popUp").dialog({
                modal: true,
                resizable: false
            });
        });
    });
</script>

<div id="popUp" >
</div>