问题描述
:
ASP.net,在使用
ClosedXML
抽取excel保存时,出错:
The name 'Response' does not exist in the current context. / 当前上下文中不存在名称'Response'。
原因分析
:Response 对象可以在页面的任何地方使用,如在 Page 对象事件中使用,在按钮单击事件中使用或在函数中使用,但不能在
非页面类
中使用。即 Response 对象所在的类必须继承
System.Web.UI.Page
类(
ASP.NET(C#)实践教程(第 2 版)- 第三章
)。其他即使使用
using System.Web.UI
也无法使用Page.Response属性。否则编译时报错:
当前上下文中不存在名称"Response"
解决办法
:使用
System.Web.HttpContext.Current.Response
来代替,既都可获取当前 HTTP 响应的
HttpResponse
对象
代码片段:
using System.Web
// others code...
// others code...
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write();
同样: ASP.net报错误:The name 'Server' does not exist in the current context. / 当前上下文中不存在名称'Server'时可以使用System.Web.HttpContext.Current.Server来代替,既:
using System.Web
// others code...
// others code...
HttpContext.Current.Server.MapPath("~/");
另外补充: 在原因分析里已经阐述,明确的是:如果可以使用Response对象,那么该类一定继承了System.Web.UI.Page类,否则会报编译错误,既上述的错误。但是反过来,如果一个类已经继承了System.Web.UI.Page类,那么这个类中一定可以用Response对象吗,比如我们新建一个class,并且让这个class继承Page类之后使用Response对象,示例代码如下:
在自动生成的TestResponse.aspx.cs文件中代码,这种coding不会出现编译和运行错误:
public partial class TestResponse : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e){
Response.Write("Run >>> Page_Load()");
直接创建一个普通的class即VerifyModel.cs文件,并且让该类继承System.Web.UI.Page,运行会怎样呢:
public class VerifyModel : System.Web.UI.Page
public void VerifyDefaultResponse(){
Response.Write("Run >>> VerifyLogin()");
首先我们要clear的是我们直接使用Response对象时,或者说使用Response.Write("XXX")的时候一定是在ASP页面XXX.aspx里code-Behind分离出来的一个类,既XXX.aspx.cs中使用,而该类默认便继承了Page类;但如果在其他地方直接创建一个class,并且该class继承了page类,调用Reponse对象中的方法:首先不会出现编译错误,但是如果运行,他仍然会出异常:[System.Web.HttpException],一般Page的实例都不应该由用户创建。ASP.net创建Page后,会调用它的一个内部的方法ProcessRequest并且把HttpContext传进去的。你越过此步当然不行了。
应该修改为:
public class VerifyModel : System.Web.UI.Page
public void VerifyHttpResponse(){
HttpContext.Current.Response.Write("Run >>> VerifyHttpResponse()");
参考资料:
flyaim,《ASP.NET出错-当前上下文中不存在名称"Response"》 : http://blog.csdn.net/flyaim/article/details/5372304
greatabel,《response.write响应在此上下文中不可用》 :http://blog.sina.com.cn/s/blog_535d25720100f8bp.html
问道者,《在非XXX.aspx.cs文件中使用Response、Request对象》 :http://www.cnblogs.com/webflash/archive/2009/07/06/1517679.html
Edison Chou,《ASP.Net请求处理机制初步探索之旅 - Part 2 核心》 :http://www.cnblogs.com/edisonchou/p/4195259.html
注:本文原创由`bluetata`发布于blog.csdn.net、转载请务必注明出处。
问题描述:ASP.net,在使用ClosedXML抽取excel保存时,出错:The name 'Response' does not exist in the current context. / 当前上下文中不存在名称'Response'。原因分析:Response 对象可以在页面的任何地方使用,如在 Page 对象事件中使用,在按钮单击事件中使用或在函数中使用,但不能在非页面类中使用。即 Response 对象所在的类必须继承 System.Web.UI.Page 类(ASP.NET(C#)实践教
# Create your models here.
class User(models.Model):
username = models.CharField(max_length=20, primary_key=True)
password = models.CharField(max_length=20)
# 修改在 admin 管理工具中的默认名,返回文章标题
def __str__(self):
return self.username
使用idea创建一个web项目,在项目中报HttpServletRequest和HttpServletResponse不存在。
问题原因:idea不会默认引用tomcat的jar包。
解决方法:
第一步:点击file-Project Structure… ,如图所示:
第二步:在Project Structure页面点击Moudles,如图所示:
【点击“+”,选择library…之后出现Choose Libraries界面】,如图所示:
选中Tomcat 8.5.38后,界面如下:
问题:导入maven项目到工程中,发现依赖的包都爆红,显示程序包org.apache.http.HttpResponse不存在
原因:导入的项目的maven 打包的项目,maven的配置信息是同事的本地信息的,需要改成自己maven home信息
解决方法:Intellij IDEA->preferences->meven-> meven
unity build 报错 The name ‘XXX’ does not exist in the current context
The type or namespace name ‘XXX’ could not be found (are you missing a using directive or an assembly reference?)
当我们引用了某个dll里面的命名空间...
源工程项目是2018.2.11f1的,其中Vuforia的版本为6.2.10,因为安卓导出的发布目标版本需要升级为API 28的支持,需要升级Unity的使用版本,故从Unity2018.2.11f1升级到Unity2018.3.14f1。升级后,打开工程出现了如下问题:
提示Vuforia 中的Unzi...
The name '"' does not
exist in
the current context
提示在当前的上下文环境中,无法找到自定义的类。发现在代码里有一个asmdef文件,百度一下发现它是一个将代码单独成包,进行独立编译的文件,删了它就可以正常引用自定义静态类了。
......
现象:在编译器下运行一切正常,但是Build时,会出现这个错误导致不能build问题
解决办法:在报错的代码里查找所有引用UnityEditor脚本的地方,将其修改为类似于
#if UNITY_EDITOR
UnityEditor.EditorApplication.update = UpdateStringName;
#endif
的格式就可以解决该问题了
嵌套在內層的asp:datalist或者其他控件是無法直接被code behind調用的,應該現在外層的datalist加事件onitemdatabound事件處理函數,使用方法如下
aspx文件:
The name does not exist in the current context
前提说明:在引用第三方的DLL后可以使用DLL内的方法,而且VS自动感知功能也可以使用,但就是编译的时候报如标题相似的错误,命名空间不在上下文中。
问题原因:第三方的DLL的Framework版本可能高于项目Framework版本,项目工程会编译失败。
解决方案:把项目的Framework换成比第三
首次打开项目,进入MonoDevelop-Unity 中,编译,提示:The name `xxx' does not exist in the current context
解决方法:在Unity环境中,先build and run 一下项目,再进入MonoDevelop-Unity中编译,问题解决
为什么博文的取名为 ProfileBase 基类呢?ProfileBase 又是作为谁的父类呢?
事实上,这一篇博文将谈到三个类,
也即是 Profile 类, ProfileCommon 类, ProfileBase 类,
其中 Profile 类和 ProfileCommo
Page.Response属性只有在页面代码中,或者说在继承自: System.Web.UI.Page的类中才有。其他即使using System.Web.UI 也无法使用Page.Response属性。否则编译时报错:当前上下文中不存在名称"Response"
解决方法:可以用System.Web.HttpContext.Current.Response来代替,效果...
Assets\XCharts\Editor\NewBehaviourScript.cs(32,22): error CS0103: The name 'Axis' does not exist in the current context
这个错误提示是C#编译器的报错信息,意思是当前上下文中找不到名称为“Axis”的变量或类。
根据错误提示的位置,这个问题可能是由于在XCharts的编辑器脚本中调用了不存在的变量或类“Axis”而造成的。可能需要检查脚本中使用到的命名空间和变量是否正确引用和命名。
另外,还可以尝试在代码中手动添加需要使用的命名空间,例如:
```csharp
using XCharts;
这样就可以在脚本中正确地使用XCharts中的类和变量。
希望这些信息能够帮到你解决问题。
解决办法:错误异常The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
28577