我有一个非常类似于这个问题how to call javascript function from Controllers file in MVC?但提供的答案不是我所需要的。从ASP.NET MVC控制器触发/调用JavaScript/jQuery事件
我想要做的是这个,我想返回一个视图,但是我想要触发/调用一个javascript/jquery事件。比如在我的控制器:
public ActionResult List()
{
// do some processing
// Call the javascript/jquery event
return this.View();
}
现在,我想这个问题的方法是使用的观点一样,包包:
public ActionResult List()
{
ViewBag.MovePanel = "yes";
return this.View();
}
然后在我看来,我有soemething像:
<input type="hidden" name="move" id="move" value="<%: (string)ViewBag.MovePanel %>" />
<script type="text/javascript">
$('#move').change(function() {
console.log('changed');
});
该值被设置为“yes”,但“change”事件永远不会被触发。
我该如何实现我想要做的?
编辑: 按照达林的评论,这是我正在努力实现的。 我们正在尝试创建一个类似于图像轮播的形式轮播。所以,我想要做的是控制是否显示下一个表单。
例如,一个典型的工作流程是这样的:
- 说我是第一种形式是项目的名单上。我选择和项目,然后点击编辑。
- 然后发生的事情是列表窗体从视图中隐藏(但未关闭),编辑窗体向用户显示。
- 用户然后对窗体进行一些更改并尝试保存。
- 如果没有验证错误,则编辑表单将关闭,并且之前的列表表单将显示在视图中。
因此,我遇到了最后一步的问题,即让列表窗体进入视图。
在更广阔的背景下说,当我提交表单并且出现错误时,我应该能够保持“编辑”表单在视图中,而不是关闭它并且不显示先前打开的“列表”表单。
我希望这是一个更清晰的解释。
如果你需要这样的东西,你的设计有一些根本性的错误。所以为了帮助你解释你的场景是什么以及你想要达到什么目的(并且不要说我试图从控制器动作中调用一个javascript事件,因为这没有任何意义)。描述你的最终目标。 –
@Darin:公平点 – DavidS