用户控件中引用图片时的路径设置——相对路径
我把一堆用户控件放在一个子目录中,但当这些控件放在页面上时,它们之内引用的图片却依然是相对于这个控件所在目录的路径出现,所以不得不加上~来从根目录往下找。
异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。
源错误:
只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL:
|
|
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
<%@ Import Namespace=”System.IO” %>
<%@ page Language=”C#” debug=”true” %>
<html>
<head>
<title>上传文件 , http://www.chinabs.net </title>
<script language=”C#” runat=”server”>
//This method is called when the “upload” button id pressed
public void UploadFile(object sender , EventArgs E)
{
//检查上传文件不为空
if(myFile.PostedFile!=null)
{
string nam = myFile.PostedFile.FileName ;
//取得文件名(抱括路径)里最后一个”.”的索引
int i= nam.LastIndexOf(“.”);
//取得文件扩展名
string newext =nam.Substring(i);
//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
DateTime now = DateTime.Now;
string newname=now.DayOfYear.ToString()+myFile.PostedFile.ContentLength.ToString();
//保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
//注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里”\”必须用”\\”代替
myFile.PostedFile.SaveAs(Server.MapPath(“\\upload\\”+newname+newext));
//得到这个文件的相关属性:文件名,文件类型,文件大小
fname.Text=myFile.PostedFile.FileName;
fenc.Text=myFile.PostedFile.ContentType ;
fsize.Text=myFile.PostedFile.ContentLength.ToString();
}
}
</script>
</head>
<body>
<center>
<h3> 文件上传的实例, 来自<a href=”http://www.chinabs.net”>中国BS网</a></h3>
<form id=”uploderform” method=”post” action=”FileUpload.aspx” enctype=”multipart/form-data” runat=”server” >
<table border=”1″ cellspacing=”2″ cellpadding=”2″ >
<tr> <td><h5>选择要上传的文件:</h5></td</tr>
<tr>
<td>
<input type=”file” id=”myFile” runat=”server” NAME=”myFile”>
</td>
</tr>
<tr><td>
<input type=”button” value=”上 传” OnServerClick=”UploadFile” runat=”server” ID=”Button1″ NAME=”Button1″>
</td></tr>
</table>
</form>
<br>
<br>
<table border=”1″ cellspacing=”2″>
<tr><td><b>文件资料</b></td>
<td> </td>
</tr>
<tr>
<td>文件名 :</td>
<td><asp:label id=”fname” text=”” runat=”server” /></td></tr>
<tr>
<td>文件类型 :</td>
<td><asp:label id=”fenc” runat=”server” /></td></tr>
<tr>
<td>文件大小 :(in bytes)</td>
<td><asp:label id=”fsize” runat=”server” /></td></tr>
</table>
<br>
<br>
<br>
</center>
</body>
</html>
<input name=”submit” type=”image” src=”../image/submit.jpg” value=”提交”/>
需要注意的是添加src的时候,相应要把type改为image。
服务器应用程序不可用
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。
管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。
——————————————————————————————————————————————
此问题因1.1与2.0版的.net程序共用一个应用程序池造成。将不同版本的应用程序从应用程序池独立出来即可。
页面中插入一个form表单后其位置前后会各出现一个空白条,如果前后有内容。
这时可把form行放在<table>之内,即可解决。
另外一个更加规范的方法是在form中加入 style=”margin:0px”,因为.net不允许<form>放在<table>内部。
访问 IIS 元数据库失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败。
用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如
IIS://servername/W3SVC)的读访问权。有关如何修改元数据库权限的信息,请参见
http://support.microsoft.com/?kbid=267904。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[HostingEnvironmentException: 访问 IIS 元数据库失败。]
System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String
siteID, VirtualPath path) +690
System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath.MapPath(String siteID, VirtualPath vpath) +9
System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath
virtualPath, Boolean permitNull) +174
System.Web.CachedPathData.GetConfigPathData(String configPath) +398
System.Web.CachedPathData.GetConfigPathData(String configPath) +263
System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath,
Boolean permitPathsOutsideApp) +166
System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath
path) +187
——————————————————————————–
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
解决方案:
在运行中输入cmd,然后在MSDOS环境下输入:
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,回车
然后输入aspnet_regiis /r ,回车,问题解决。
| |||||||
|