⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 surveycreate.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
namespace PowerEasy.Survey
{
    using PowerEasy.Common;
    using PowerEasy.IDal.Survey;
    using PowerEasy.Model.Survey;
    using PowerEasy.Model.TemplateProc;
    using PowerEasy.Templates;
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Web;

    public sealed class SurveyCreate
    {
        private static readonly ISurveyCreate dal = DataAccess.CreateSurveyCreate();

        private SurveyCreate()
        {
        }

        private static void ContentLengthJS(SurveyFieldInfo info, StringBuilder tempFormJs, string otherName)
        {
            if ((0 < info.ContentLength) && (info.ContentLength <= 0xff))
            {
                tempFormJs.Append(string.Concat(new object[] { "if (document.myform.", otherName, ".value.length>255||document.myform.", otherName, ".value.length>", info.ContentLength, ")\n" }));
                tempFormJs.Append("{flag=false;alert('填写的内容过长');\n");
                tempFormJs.Append("document.myform." + otherName + ".focus();return flag}\n");
            }
        }

        private static void EnableNullJS(SurveyFieldInfo info, StringBuilder tempFormJs, string problemName)
        {
            if (info.EnableNull)
            {
                tempFormJs.Append("if (document.myform." + problemName + ".value=='')\n");
                tempFormJs.Append("{flag=false;");
                tempFormJs.Append("alert('" + info.QuestionContent + "不能为空');\n");
                tempFormJs.Append("document.myform." + problemName + ".focus();\n");
                tempFormJs.Append("return flag}\n");
            }
        }

        public static bool FileNameExists(string fileName)
        {
            return dal.FileNameExists(fileName);
        }

        public static string GetDynamicContent(string createContent, int surveyId)
        {
            Match match = Regex.Match(createContent, @"<head[^>]*>([\s\S]*)</head>");
            if (match.Success)
            {
                createContent = Regex.Replace(createContent, @"<head[^>]*>[\s\S]*</head>", "<head runat=\"server\">" + match.Groups[1].Value + "</head>", RegexOptions.IgnoreCase);
            }
            else
            {
                createContent = Regex.Replace(createContent, "(<html[^>]*>)", "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head runat=\"server\"/>", RegexOptions.IgnoreCase);
            }
            createContent = "<%@ Page Language=\"c#\" StylesheetTheme=\"\"%>\n" + createContent;
            createContent = GetServerCode(createContent, surveyId);
            return createContent;
        }

        private static string GetFormJS(SurveyFieldInfo info)
        {
            StringBuilder tempFormJs = new StringBuilder();
            tempFormJs.Append("");
            string problemName = "Q" + info.QuestionId.ToString();
            string otherName = "Q" + info.QuestionId.ToString() + "Input";
            switch (info.QuestionType)
            {
                case 0:
                    EnableNullJS(info, tempFormJs, problemName);
                    ContentLengthJS(info, tempFormJs, problemName);
                    break;

                case 1:
                    EnableNullJS(info, tempFormJs, problemName);
                    break;

                case 2:
                    if (info.EnableNull)
                    {
                        tempFormJs.Append("var Input1=false\n");
                        tempFormJs.Append("for (i=0;i<document.myform." + problemName + ".length;i++) \n");
                        tempFormJs.Append("{Input1=Input1||document.myform." + problemName + "[i].checked;} \n");
                        tempFormJs.Append("if (Input1==false){alert('请选择" + info.QuestionContent + "');\n");
                        tempFormJs.Append("document.myform." + problemName + "[0].focus();\n");
                        tempFormJs.Append("return Input1};\n");
                    }
                    if (info.InputType == 1)
                    {
                        ContentLengthJS(info, tempFormJs, otherName);
                    }
                    break;

                case 3:
                    if (info.EnableNull)
                    {
                        tempFormJs.Append("var Input2=false\n");
                        tempFormJs.Append("for (i=0;i<document.myform." + problemName + ".length;i++) \n");
                        tempFormJs.Append("{Input2=Input2||document.myform." + problemName + "[i].checked;} \n");
                        tempFormJs.Append("document.myform." + problemName + "[0].focus();\n");
                        tempFormJs.Append("if (Input2==false){alert('请选择" + info.QuestionContent + "');\n");
                        tempFormJs.Append("return Input2};\n");
                    }
                    if (info.InputType == 1)
                    {
                        ContentLengthJS(info, tempFormJs, otherName);
                    }
                    break;

                case 4:
                    if (info.EnableNull)
                    {
                        tempFormJs.Append("if (document.myform." + problemName + ".selectedIndex==-1)\n");
                        tempFormJs.Append("{flag=false;alert('请选择" + info.QuestionContent + "');\n");
                        tempFormJs.Append("document.myform." + problemName + ".focus();return flag}\n");
                    }
                    break;

                case 6:
                    EnableNullJS(info, tempFormJs, problemName);
                    break;

                case 7:
                    if (info.EnableNull)
                    {
                        tempFormJs.Append("var Input1=false\n");
                        tempFormJs.Append("for (i=0;i<document.myform." + problemName + ".length;i++) \n");
                        tempFormJs.Append("{Input1=Input1||document.myform." + problemName + "[i].checked;} \n");
                        tempFormJs.Append("if (Input1==false){alert('请选择" + info.QuestionContent + "');\n");
                        tempFormJs.Append("document.myform." + problemName + "[0].focus();\n");
                        tempFormJs.Append("return Input1};\n");
                    }
                    break;

                case 8:
                    EnableNullJS(info, tempFormJs, problemName);
                    tempFormJs.Append("if (document.myform." + problemName + ".value!=''&&isNaN(myform." + problemName + ".value))\n");
                    tempFormJs.Append("{alert('请用数字填写" + info.QuestionContent + "');\n");
                    tempFormJs.Append("flag=false;\n");
                    tempFormJs.Append("document.myform." + problemName + ".focus();\n");
                    tempFormJs.Append("return flag}\n");
                    break;

                case 9:
                    EnableNullJS(info, tempFormJs, problemName);
                    tempFormJs.Append("if (myform." + problemName + ".value!='')  \n");
                    tempFormJs.Append("{if (myform." + problemName + ".value.length<6)  {\n");
                    tempFormJs.Append("flag=false;\n");
                    tempFormJs.Append("alert('您所填的Email太短!');\n");
                    tempFormJs.Append("document.myform." + problemName + ".focus();\n");
                    tempFormJs.Append("return flag}\n");
                    tempFormJs.Append("if (myform." + problemName + ".value.indexOf('@')==-1||myform." + problemName + ".value.indexOf('.')==-1)\n");
                    tempFormJs.Append("{flag=false;\n");
                    tempFormJs.Append("alert('Email格式有问题,是否包含了@和.');\n");
                    tempFormJs.Append("document.myform." + problemName + ".focus();\n");
                    tempFormJs.Append("return flag}}\n");
                    break;
            }
            return tempFormJs.ToString();
        }

        private static string GetServerCode(string createContent, int surveyId)
        {
            StringBuilder builder = new StringBuilder();
            builder.Append("<script runat=\"server\">\r\n");
            builder.Append("    protected void Page_Load(object sender, EventArgs e)\r\n");
            builder.Append("    {\r\n");
            builder.Append("        string returnurl = Request.UrlReferrer == null?string.Empty : Request.UrlReferrer.AbsoluteUri;\r\n");
            builder.Append("        int surveyId = " + surveyId.ToString() + ";\r\n");
            builder.Append("        string ip =PowerEasy.Components.PEContext.Current.UserHostAddress;\r\n");
            builder.Append("        PowerEasy.Model.Survey.SurveyInfo surveyInfo = PowerEasy.Survey.SurveyManager.GetSurveyById(surveyId);\r\n");
            builder.Append("        if (surveyInfo.IsNull)\r\n");
            builder.Append("        {\r\n");
            builder.Append("            PowerEasy.Web.UI.DynamicPage.WriteErrMsg(\"<li>该问卷不存在!</li>\",returnurl);\r\n");
            builder.Append("        }\r\n");
            builder.Append("        if (surveyInfo.IsOpen != 1)\r\n");
            builder.Append("        {\r\n");
            builder.Append("            PowerEasy.Web.UI.DynamicPage.WriteErrMsg(\"<li>问卷调查尚未启用!</li>\",returnurl);\r\n");
            builder.Append("        }\r\n");
            builder.Append("        if (surveyInfo.EndTime != null && surveyInfo.EndTime < DateTime.Now)\r\n");
            builder.Append("        {\r\n");
            builder.Append("            PowerEasy.Web.UI.DynamicPage.WriteErrMsg(\"<li>问卷调查已经结束!</li>\",returnurl);\r\n");
            builder.Append("        }\r\n");
            builder.Append("        if (PowerEasy.Survey.SurveyManager.CheckIPLock(ip, surveyInfo))\r\n");
            builder.Append("        {\r\n");
            builder.Append("            PowerEasy.Web.UI.DynamicPage.WriteErrMsg(\"<li>对不起!您的IP(\" + ip + \")被系统限定。您可以和站长联系。</li>\",returnurl);\r\n");
            builder.Append("        }\r\n");
            builder.Append("        if (PowerEasy.Survey.SurveyManager.CheckRepeatIP(ip, surveyId, surveyInfo))\r\n");
            builder.Append("        {\r\n");
            builder.Append("            PowerEasy.Web.UI.DynamicPage.WriteErrMsg(\"<li>同一用户不允许填写问卷调查超过\" + surveyInfo.IPRepeat.ToString() + \"次!</li>\",returnurl);\r\n");
            builder.Append("        }\r\n");
            builder.Append("        string url = HttpContext.Current.Request.Url.AbsoluteUri;\r\n");
            builder.Append("        if (surveyInfo.NeedLogin == 1)\r\n");
            builder.Append("        {\r\n");
            builder.Append("            if (string.IsNullOrEmpty(PowerEasy.Components.PEContext.Current.User.UserName))\r\n");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -