点击a标签链接时,进行相应逻辑判断后再确定是否执行跳转

首先,给我们需要跳转的a标签链接新增一个click事件,例子:

<td>
    <a href="/FstInspctAdCheck/ZbYzCheck?order=@Html.DisplayFor(modelItem => item.produce_order)&&wlCode=@Html.DisplayFor(modelItem => item.product_code)"
onclick="return Check('@Html.DisplayFor(modelItem => item.zz_order)','@Html.DisplayFor(modelItem => item.plan_num)','@Html.DisplayFor(modelItem => item.plan_date)')">主板组预装段</a>
</td>

接着,编写判断逻辑的函数,调用后台代码,根据返回值判断是否跳转页面,例子:

    function Check(zz_order, plan_num, plan_date) {
        var flag = false;
        $.ajax({
            type: "post",
            url: "/FstInspctAdCheck/CheckYzIsReceiving",
            data: {
                'zz_order': zz_order,
                'number': plan_num,
                'date': plan_date
            },
            async: false,
            success: function (data) {
                console.log(data);
                if (data=="True") {
                    flag = true;
                }
                else {
                    alert('未领用该主板,无法进行首检核对!');
                    flag = false;
                }
            }
        });
        console.log(flag);
        return flag;
    }

前面提到的后台方法如下:

/// <summary>
        /// 检查主板预装段的主板是否被领用,未领用则不可进行首检核对
        /// </summary>
        /// <param name="zz_order"></param>
        /// <param name="number"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public bool CheckYzIsReceiving(string zz_order, string number, string date)
        {
            bool flag = false;
            //获取当前的主板编码
            string code = service.GetPlanZb(zz_order, number, date);
            if (!String.IsNullOrEmpty(code))
            {
                Context context = new Context();
                FirstinspectionA list = new FirstinspectionA();
                //找出对应的主板
                list = context.FirstinspectionAccounts.Where(f => f.ModelCode == code).FirstOrDefault();
                if (list != null)
                {
                    if (list.ReceivingTeam == "未领用")
                    {
                        flag = false;
                    }
                    else
                    {
                        flag = true;
                    }
                }
            }
            return flag;
        }

注意一个点:后台返回值为bool类型,回传到前端页面得到的是字符串类型,从而你在判断返回值后是否跳转时,如果报错或者其他因素导致的不响应情况有可能就是这个值类型的改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值