我坚持以下情形:调用javascript函数返回任何类型的结果在控制器动作
在我看来有一个项目列表。根据项目所代表的内容,单击某个项目将带您到相应的视图并显示这些结果。现在在视图中显示结果不是问题;这工作正常。但是,某些项目应显示在弹出窗口中,而不是视图中。我将部分视图与bPopup和ShowListDialog(data)这样的javascript函数一起使用来显示对话框并绑定数据。如何在操作中返回任何需要的结果(我怀疑JavaScriptResult)时调用javascript函数。
我认为我的行为应该像此刻是:
公众的ActionResult的ResponseItem(INT参考) { ResponseBase的响应= repository.RetrieveResponse(参考);
if (response.ShouldShowInView)
{
return View(response.RedirectUrl, response.Data);
}
else
{
return JavaScript("ShowListDialog(" + response.Data.JsonString + ");");
}
}
我一直在寻找回报的例子JavaScript的结果,我甚至不能得到那个工作。如果我这样说:
return JavaScript(“alert('Hello');”);
然后在IE中询问我是否想打开javascript文件;在Chrome和Firefox中它只显示alert('Hello');在页面上。
预先感谢帮助:) d
你想要生成一些JavaScript并执行它吗?您可以简单地生成一个HTML页面,其中包含一个标签,并将脚本放入其中。 – 2011-04-28 10:03:02
不,我想调用一个名为ShowListDialog的现有javascript函数,它将在当前页面顶部显示一个弹出对话框(如果点击的列表项产生需要在弹出窗口中显示的响应类型)。显示视图相关的项目是没有问题的。 – Dieter 2011-04-28 10:11:15
我明白了,我的意思是你可以生成一个html响应,包括一个脚本标记,把你的脚本ShowListDialog(...)放在里面。然后脚本将被调用。 – 2011-04-28 10:40:08