onclick - 为什么 R# 在点击处理程序中告诉我 "Not all code paths return a value"?

标签 onclick resharper jquery

在我的提交按钮单击处理程序结束时,Resharper 警告说:“并非所有代码路径都会返回值。”

事件处理程序期望什么值?

为了充分披露,这是该事件处理程序:

   $("#submit_button").click(function() {
        // http://stackoverflow.com/questions/18192288/how-can-i-compare-date-time-values-using-the-jqueryui-datepicker-and-html5-time
        var begD = $.datepicker.parseDate('mm/dd/yy', $('#BeginDate').val());
        var endD = $.datepicker.parseDate('mm/dd/yy', $('#EndDate').val());
        if (begD > endD) {
            alert('Begin date must be before End date');
            $('#BeginDate').focus();
            return false;
        }
        else if (begD.toString() == endD.toString()) {
            var dteString = begD.getFullYear() + "/" + (begD.getMonth() + 1) + "/" + begD.getDate();
            var begT = new Date(dteString + " " + $('#BeginTime').val());
            var endT = new Date(dteString + " " + $('#EndTime').val());

            if (begT > endT) {
                alert('Begin date must be before End date');
                $('#BeginTime').focus();
                return false;
            }
        }

        $("#NumberOfResults").css("visibility", "visible");
        $("#NumberOfResults").html("Please wait...");

        EnableButton("submit_button", false);

        // If all are selected, don't enumerate them; just set it at "All" (change of case shows that the logic did execute)
        var deptsList = $('#depts').checkedBoxes();
        if (deptsList.length < deptsArray.length) {
            $('#deptHeader span').html(deptsList.join(", "));
        }
        else if (deptsList.length == deptsArray.length) {
            $('#deptHeader span').html("All");
        }
        // " "
        var sitesList = $('#sites').checkedBoxes();
        $('#sitesHeader span').html(sitesList.join(", "));
        if (sitesList.length < sitesArray.length) {
            $('#sitesHeader span').html(sitesList.join(", "));
        }
        else if (sitesList.length == sitesArray.length) {
            $('#sitesHeader span').html("All");
        }

        $('#hiddenDepts').val(deptsList);
        $('#hiddenSites').val(sitesList);
        var UPCs = $('#UPC').val();
        if (UPCs == "All") {
            $('#UPC').val("1"); // take everything (1 and greater)
        }

        var resultsText = jQuery.trim($("#spanNumberOfResults").text());
        if (resultsText != "") {
            $("#NumberOfResults").css("visibility", "visible");

            if (resultsText == "0") {
                $("#NumberOfResults").css("color", "red");
            } else {
                var href = '/@ConfigurationManager.AppSettings["ThisApp"]/CCRCriteria/LoadReport';
                // report_parms (sic) is referenced from LoadReport
                var report_parms = {
                    GUID: "@Model.GUID",
                    SerialNumber: "@Model.SerialNumber",
                    ReportName: "@Model.ReportName"
                };
                window.open(href, "report_window", "resizable=1, width=850, left=" + (screen.width / 2 - 425));
            }
        }
    }); // end of submit button click

最佳答案

Resharper 不知道事件处理程序。

它发现你的函数有时会返回 false,有时不会返回任何内容,并且它会提示。

它没有意识到这种模式非常适合事件处理程序。

关于onclick - 为什么 R# 在点击处理程序中告诉我 "Not all code paths return a value"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18256969/

相关文章:

c# - 将 VS 代码片段与 Resharper 结合使用

jQuery 单选按钮未选中选择器

javascript - jcrop 全宽/高,带比例裁剪

c# - 如何使用 JQuery 单击 LinkBut​​ton

javascript - 如果图片处于事件状态,则更改图片,如果不活动,则更改回来

javascript - 使用 Jasmine 进行 VS、Resharper、Karma 和 AngularJS 模板单元测试

c# - 使用 Resharper 自动删除未使用的代码

php - 如何使用 Ajax 从 MySQL 获取信息?

c# - ASP.net 按钮 onserverclick 仅在未定义 onclick 时有效

javascript - onclick() 和 onblur() 排序问题