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