/// <summary>
        /// 封装顶踩控件
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="objectId">被顶踩的对象id</param>
        /// <param name="userId">被顶踩的对象的UserId,用于限制不能顶踩自己</param>
        /// <param name="tenantTypeId">租户类型id</param>
        /// <param name="mode">双向操作还是单向操作</param>
        /// <param name="style">顶踩的样式</param>
        /// <param name="onSuccessCallBack">js回调函数</param>
        /// <returns></returns>
        public static MvcHtmlString SupportOppose(this HtmlHelper htmlHelper, string tenantTypeId, long objectId, long userId, AttitudeMode mode, AttitudeStyle? style = null, string onSuccessCallBack = null)
        {
            IUser CurrentUser = UserContext.CurrentUser;
            AttitudeService attitudeService = new AttitudeService(tenantTypeId);

            //查询当前登录用户是否顶踩过该对象
            bool? isSupport = null;
            if (CurrentUser != null)
            {
                isSupport = attitudeService.IsSupport(objectId, CurrentUser.UserId);
            }
            htmlHelper.ViewData["isSupport"] = isSupport;

            //查询该对象总的顶踩次数
            Attitude attitude = attitudeService.Get(objectId);
            htmlHelper.ViewData["attitude"] = attitude;

            //向View传递用户设置参数
            htmlHelper.ViewData["tenantTypeId"] = tenantTypeId;
            htmlHelper.ViewData["objectId"] = objectId;
            htmlHelper.ViewData["userId"] = userId;
            htmlHelper.ViewData["mode"] = mode;
            htmlHelper.ViewData["style"] = style;
            htmlHelper.ViewData["onSuccessCallBack"] = onSuccessCallBack;

            //顶踩的全局设置
            htmlHelper.ViewData["attitudeSettings"] = DIContainer.Resolve<ISettingsManager<AttitudeSettings>>().Get();

            return htmlHelper.DisplayForModel("SupportOppose");
        }