如何将按钮的click事件绑定到PartialView(MVC)?

时间:2016-08-25 12:32:32

标签: jquery asp.net-mvc partial-views

我在asp.net MVC中创建了一个页面。在这个页面中存在一个View和一个PartialView.I把按钮放到partialview中并将 Countinue 函数写入View。

按钮:

    <button type="button" class="btn btn-warning center-block btn-large" id="Continue" onclick="Continue(this);">Continue</button>

JS:

 var Continue=function (e) {
            e.preventDefault();
            if ($('#FieldsetCharterFlightsReturn article').size() < 1) {
                if (validateDeparturef(e)) {
                    $("#CharterFlightsForm").submit();
                }

            }
                        if ($('#FieldsetCharterFlightsReturn article').size() > 0) {
                if (validateDeparturef(e) && validateArrivalf(e)) {
                    $("#CharterFlightsForm").submit();
                }
            }
        };

现在当我点击按钮时出现此错误:

  

TypeError:Continue不是函数

将元素事件绑定到PartialView的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

由于您使用绑定事件而不是丑陋的内联点击处理程序。

 $(function(){
    $('#Continue').on('click', Continue);
 })

OR,使用事件委派

 $(document).on('click', '#Continue', Continue);

删除内联onclick="Continue(event);"处理程序

答案 1 :(得分:2)

使用以下模式:

<button type="button" class="btn btn-warning center-block btn-large" id="Continue" onclick="module.Continue(event);">Continue</button>

(function($, module) {

    module.Continue=function (e) {
        e.preventDefault();
        if ($('#FieldsetCharterFlightsReturn article').size() < 1) {
            if (validateDeparturef(e)) {
                $("#CharterFlightsForm").submit();
            }

        }
        if ($('#FieldsetCharterFlightsReturn article').size() > 0) {
            if (validateDeparturef(e) && validateArrivalf(e)) {
                $("#CharterFlightsForm").submit();
            }
        }
    };

}(jQuery, module= window.module|| {}));