Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 从mvc3控制器调用javascript方法?_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 从mvc3控制器调用javascript方法?

Asp.net mvc 3 从mvc3控制器调用javascript方法?,asp.net-mvc-3,Asp.net Mvc 3,我在cshtml视图上有一个按钮。每次扫描项目时,它都会被单击。 用户必须一个接一个地进行操作,一旦扫描完所有项目,我想打开/弹出一个新窗口,并将其重定向到另一个页面。。正在控制器方法中检查是否为最后一项。 如何调用javascript从控制器打开新窗口..就在我的“redirecttoaction”之前 有更好的方法吗 从控制器调用JavaScript是不干净的。相反,将检查是否是最后一项的逻辑移到客户端,并根据需要调用相应的控制器操作。以下是一个示例模式: public ActionResu

我在cshtml视图上有一个按钮。每次扫描项目时,它都会被单击。 用户必须一个接一个地进行操作,一旦扫描完所有项目,我想打开/弹出一个新窗口,并将其重定向到另一个页面。。正在控制器方法中检查是否为最后一项。
如何调用javascript从控制器打开新窗口..就在我的“redirecttoaction”之前


有更好的方法吗

从控制器调用JavaScript是不干净的。相反,将检查是否是最后一项的逻辑移到客户端,并根据需要调用相应的控制器操作。

以下是一个示例模式:

public ActionResult Index()
{
    var model = new MyViewModel();
    return View(model);
}

[HttpPost]
public ActionResult Index(MyViewModel model)
{
    // TODO Process the scanned code model.Code

    if (IsLastItem())
    {
        model.IsLast = true;
    }
    return View(model);
}
在视图内部:

@model MyViewModel
@using (Html.BeginForm())
{
    @Html.TextBoxFor(x => x.Code)
    <input type="submit" value="OK" />
}

<script type="text/javascript">
@if (Model.IsLast)
{
    <text>
    window.open('@Url.Action("foo")', 'foo');
    window.location.href = '@Url.Action("bar")';
    </text>
}
</script>
@model MyViewModel
@使用(Html.BeginForm())
{
@Html.TextBoxFor(x=>x.Code)
}
@if(Model.IsLast)
{
window.open('@Url.Action(“foo”),'foo');
window.location.href='@Url.Action(“bar”);
}

mahesh..这将是一个javascript窗口。无论在何处做出决定..控制器操作必须调用javascript window.open然后,在检查是否为最后一个元素的逻辑后,为什么不打开目标为重定向操作的窗口?根据A页的决定,需要两个操作。。1.打开这个弹出窗口2。重定向到第B页或第C页。我考虑将这个弹出式javascript放在下一页的document.ready中。但有时后面的页面是B,有时是C到B。。有时直接到C.所以。。这不是解决办法either@jeff:我认为,您应该将确定到达哪一页所需的逻辑放在第X页本身。这样你就不用担心了,你只要加载页面,它就知道从哪里开始,作为一个独立的实体。darin。。现在就是这样。。[HttpPost]公共操作结果索引(MyViewModel){//TODO处理扫描的代码模型。code if(IslasItem()){model.IsLast=true;return redirecttoaction(“另一页”);}return View(model);}如您所见,它不会发回视图..而是重定向到另一页。。所以基本上…我想要一个弹出窗口加上重定向。。所以我要尝试的是。。在redirecttoaction之前调用弹出窗口。