我在asp.net mvc4 Web应用程序中有一个视图,用户可以从中配置一些与其相关的内容。当用户单击此视图中的按钮时,例如,配置视图,我想在另一个视图中,例如主视图中调用jquery函数。该jquery函数负责在主视图中修改元素。
在按钮所在的配置视图中,我有以下代码,一些输入文本框和按钮(这将调用Configure控制器中的AddItem动作):
@using (Html.BeginForm("AddItem", "Configure", FormMethod.Post))
{
@Html.DropDownListFor(m => m.CustomViewModel.SelectedItemId, Model.CustomViewModel.ListItems)
@Html.TextBox(...)
<input id="submitAdd" type="submit" value="@Resource.ButtonTitleAdd" />
}
那么,当用户单击配置视图上的按钮时,如何从上述代码在主视图中调用jquery函数?
我还需要将配置视图下拉列表中选择的值传递给此jquery函数。例如,如果下拉列表包含:
“某物1”
“某物2”
“某物3”
我需要传递下拉列表中所选项目的值。例如,如果用户选择“ something1”且其值为1,则应将1传递给此jquery函数。此下拉列表填充有模型。
最佳答案
我本来可以通过自定义事件解决它的,您可以从任意位置触发并监听。
像这样触发它:
$.event.trigger('customStuff', [arg1, arg2, argN]);
然后像这样“监听”它:
$(document).on('customStuff', function (e, arg1, arg2) { });