我这边是用繁体字做的ERP系统,有一个附件上传功能,我做出来的上传可以上传以英文和数字命名的文件名,但是包含中文字符就出错,
#region IsExists
protected void IsExists(string InputTotalPath, string InputPath, string InputFileName) {
string uploadDateTime = "";
string inputPath = "";
string inputNewFileName = "";
string str4 = "";
string str5 = "";
try {
InputFileName = HttpUtility.UrlDecode(InputFileName, System.Text.Encoding.UTF8).ToString();
uploadDateTime = Files.GetUploadDateTime();//返回文件日期名
string[] strArray = InputFileName.Split(new char[] { '.' });
str4 = strArray[0].ToString();
str5 = strArray[1].ToString();
inputNewFileName = str4 + uploadDateTime + "." + str5;
inputPath = InputPath + inputNewFileName;
if (Files.IsFileExists(InputTotalPath))
{
if (Files.IsFileExists(inputPath))
{
Files.DeleteFile(InputTotalPath);
Files.RenameFile(InputTotalPath, inputNewFileName);
this.FUploadAttachMent.SaveAs(InputTotalPath);//上传
}
else {
Files.RenameFile(InputTotalPath, inputNewFileName);
this.FUploadAttachMent.SaveAs(InputTotalPath);
}
}
else {
this.FUploadAttachMent.SaveAs(InputTotalPath);
}
}
catch (Exception ex) {
MessageBox.Show(Page, ex.Message);
}
}
#endregion
出错提示:因为是繁体字,所有有些都显示不出来
“/XLWebSite”?用程序中的服?器??。
--------------------------------------------------------------------------------回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。
?明: ?行?前 Web ?求期?,出?未?理的异常。??查堆?跟?信息,以了解有????以及代?中?致??的出?的??信息。 异常??信息: System.ArgumentException: 回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。源??: ?行?前 Web ?求期?生成了未?理的异常。可以使用下面的异常堆?跟?信息确定有?异常原因和?生位置的信息。 堆?跟?:
[ArgumentException: 回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。]
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8625337
System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +69
System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +53
System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +13
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +343
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1743
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927
如果知到怎么消除提示中的“?”也请告诉我,因为这样我都看不清楚错误到底是什么
#region IsExists
protected void IsExists(string InputTotalPath, string InputPath, string InputFileName) {
string uploadDateTime = "";
string inputPath = "";
string inputNewFileName = "";
string str4 = "";
string str5 = "";
try {
InputFileName = HttpUtility.UrlDecode(InputFileName, System.Text.Encoding.UTF8).ToString();
uploadDateTime = Files.GetUploadDateTime();//返回文件日期名
string[] strArray = InputFileName.Split(new char[] { '.' });
str4 = strArray[0].ToString();
str5 = strArray[1].ToString();
inputNewFileName = str4 + uploadDateTime + "." + str5;
inputPath = InputPath + inputNewFileName;
if (Files.IsFileExists(InputTotalPath))
{
if (Files.IsFileExists(inputPath))
{
Files.DeleteFile(InputTotalPath);
Files.RenameFile(InputTotalPath, inputNewFileName);
this.FUploadAttachMent.SaveAs(InputTotalPath);//上传
}
else {
Files.RenameFile(InputTotalPath, inputNewFileName);
this.FUploadAttachMent.SaveAs(InputTotalPath);
}
}
else {
this.FUploadAttachMent.SaveAs(InputTotalPath);
}
}
catch (Exception ex) {
MessageBox.Show(Page, ex.Message);
}
}
#endregion
出错提示:因为是繁体字,所有有些都显示不出来
“/XLWebSite”?用程序中的服?器??。
--------------------------------------------------------------------------------回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。
?明: ?行?前 Web ?求期?,出?未?理的异常。??查堆?跟?信息,以了解有????以及代?中?致??的出?的??信息。 异常??信息: System.ArgumentException: 回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。源??: ?行?前 Web ?求期?生成了未?理的异常。可以使用下面的异常堆?跟?信息确定有?异常原因和?生位置的信息。 堆?跟?:
[ArgumentException: 回?或回????效。在配置中使用 <pages enableEventValidation="true"/> 或在?面中使用 <%@ Page EnableEventValidation="true" %> ?用了事件??。出于安全目的,此功能??回?或回?事件的??是否?源于最初呈??些事件的服?器控件。如果?据有效并且是?期的,?使用 ClientScriptManager.RegisterForEventValidation 方法?注?回?或回??据以?行??。]
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8625337
System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +69
System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +53
System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +13
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +343
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1743
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927
如果知到怎么消除提示中的“?”也请告诉我,因为这样我都看不清楚错误到底是什么
刚刚上传到数据库里面的中文名的文件,名称是经典Sql语句大全.doc
然后存到数据库里面的字段值变成了?典SQL?句大全.DOC
这出现的问号是怎么回事啊?