我在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) { });

09-20 15:34