using-asp.net 错误 CS1028: 意外的预处理器指令

问题描述

asp.net 错误 CS1028: 意外的预处理器指令
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;

public class ValidateCode : System.Web.UI.Page
{
private void Page_Load(object sender System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}

override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{

this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty;
System.Random random = new Random();
for(int i=0; i<5; i++)
{
number = random.Next();
if(number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26));
checkCode += code.ToString();
}
Response.Cookies.Add(new HttpCookie(""CheckCode"" checkCode));
return checkCode;
}
private void CreateCheckCodeImage(string checkCode)
{
if(checkCode == null || checkCode.Trim() == String.Empty)
return;
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)) 22);
Graphics g = Graphics.FromImage(image);
try
{
//生成随机生成器
Random random = new Random();
//清空图片背景色
g.Clear(Color.White);
//画图片的背景噪音线
for(int i=0; i<25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);
g.DrawLine(new Pen(Color.Silver) x1 y1 x2 y2);
}
Font font = new System.Drawing.Font(""Arial"" 12 (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0 0 image.Width image.Height) Color.Blue Color.DarkRed 1.2f true);
g.DrawString(checkCode font brush 2 2);
//画图片的前景噪音点
for(int i=0; i<100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);
image.SetPixel(x y Color.FromArgb(random.Next()));
}
//画图片的边框线
g.DrawRectangle(new Pen(Color.Silver) 0 0 image.Width - 1 image.Height - 1);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = ""image/Gif"";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
}

求救、、、、、、

解决方案

这一般是你的aspx页面上有错误造成的。贴出你的页面代码

解决方案二:
注意,我说的错误,是指预编译指令以及嵌入的代码语法的错误,而不是“逻辑错误”。

解决方案三:
比如说常见的#绑定变量的语句有错误等等。

有些人不懂装懂胡乱抄袭下别人的答案,结果连别人说的意思都没搞清楚还胡乱引申误人子弟,真的让人无语了。特此纠正下。

解决方案四:
页面是否有代码逻辑错误。查看一下错误信息来分析

时间: 2024-09-15 02:17:14

using-asp.net 错误 CS1028: 意外的预处理器指令的相关文章

C#预处理器指令和字符串处理

一.C# 预处理器指令 在C#编程过程中,如果文件中的代码太长那么就不便于阅读,为此,采用C# 预处理器指令#region来处理代码.#region 是 C# 预处理器指令.#region 是一个分块预处理命令,它主要是用于编辑器代码的分块,在编译时会被自动删除. #region 使程序员可以在使用 Visual Studio 代码编辑器的大纲显示功能时指定可展开或折叠的代码.使用#region和#endregion,将代码写在两者之间就可以了.   public void Insert(str

C#预处理器指令

C#有许多名为预处理器指令的命令.这些命令从来不会被翻译为可执行代码中的命令,但会影响编译过程的各个方面.例如,预处理器可禁止编译器编译代码的某一部分.如果计划发布两个版本的代码,比如基本版本和企业版本,或者针对不同的.NET Framework版本进行编码,就可以使用这些指令.在Anthem.NET的代码中我们经常可以看到这种用法. 预处理器指令的开头都有符号#. 注意: C#中并没有一个像C++那样的独立预处理器,所谓的预处理器指令仍由编译器处理. 下面将对这些指令逐一介绍. 1. #def

错误 111 预处理器指令必须作为一行的第一个非空白字符出现

问题描述 functionGetValues(pollutantType){varurl='<%=ResolveUrl("~/Material/Formula/MaterialPara.aspx?PSCode='+pscode+'&Month='+$("#WorkMonth").val()+'&PollutantType=2&OutputCode='+$("#SerialId").val()+'&DataType=2&

详解C/C++预处理器 .

C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序.预处理器指令以#号开头标识,末尾不包含分号.预处理命令不是C/C++语言本身的组成部分,不能直接对它们进行编译和链接.C/C++语言的一个重要功能是可以使用预处理指令和具有预处理的功能.C/C++提供的预处理功能主要有文件包含.宏替换.条件编译等.        1.文件包含       预处理指令#include用于包含头文件,有两种形式:#include <xxx.

简介C/C++预处理器的一些工作_C 语言

多么令人愉快的一个问题啊 就在被带到编译器那里之前,预处理器都会对你的源代码瞧上一瞧, 做一些格式化的工作,并执行任何你在源代码里面留给它来执行的指令. 像什么? 好吧,预处理器的指令就被叫做预处理器指令,而他们都以一个#开头. 像 #include 这样? 正确. 每一个被预处理器遇到的 # 命令都会导致在某种方式上对源代码的修改. 让我们来简单的研究研究它们,然后我们就会之后这背后都是怎么运转的了. #include 包含其他库.类.接口等的头文件.预处理器实际上就只是把整个头文件复制到你的

深入理解C预处理器_C 语言

C 预处理器不是编译器的组成部分,是编译过程中一个单独的步骤.C预处理器只是一个文本替换工具,它会指示编译器在实际编译之前完成所需的预处理. 所有的预处理器命令都是以井号(#)开头.它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始. 下表包含所有重要的预处理器指令: 指令 描述 #define 定义宏 #include 包含一个源代码文件 #undef 取消已定义的宏 #ifdef 如果宏已经定义,则返回真 #ifndef 如果宏没有定义,则返回真 #if 如果给定条件为真,则

以前收集的一些资料---使用ASP的错误陷阱实现网站虚拟目录功能

错误|虚拟目录                 使用ASP的错误陷阱实现网站虚拟目录功能    我想大家一定都看见过在很多提供个人主页的网站上有这个虚拟目录功能.就是http://xxx.xxx.xxx/~Batman就会连接到我的主页上(假设我有这个主页,呵呵)    那么我们怎么使用纯粹的ASP技术来实现这个功能了,例如在chinaasp上如果联接是http://www.chinaasp.com/~Batman就会自动连接到与Batman有关的个人信息上呢?    下面将介绍一种使用ASP的

ASP.NET错误信息:至少一个参数没有被指定值

asp.net|错误 "/WebSite1"应用程序中的服务器错误.-------------------------------------------------------------------------------- 至少一个参数没有被指定值. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指

ASP.NET错误搜集整理

asp.net|错误 1.超过了最大请求长度 测试上传文件代码,默认ASP.NET允许最大一次上传2M大小的文件,我在自己的服务器上传一个网易泡泡的安装程序POPO.exe文件时候产生这个错误. 参考文章: Asp.net中,上传文件的默认大小是4096 KB,也就是4M,不过你可以在Web.config中更改这个数据. <system.web>  <!-- 增加上传文件限制为8M -->                      <httpRuntime maxReques