string Newfilename;
string Defaultfilename;
protected void btnup_Click(object sender, EventArgs e)
{
if (ASPxUploadControl1.HasFile)
{
string fileExt =
Path.GetExtension(ASPxUploadControl1.FileName);
if (fileExt == ".xls" || fileExt == ".xlsx")
try
{
string extension = Path.GetExtension(ASPxUploadControl1.FileName);
string id = Guid.NewGuid().ToString();
string fileLocation = string.Format("{0}/{1}{2}", Server.MapPath("upload/"), id, extension);
ASPxUploadControl1.SaveAs( fileLocation );
StatusLabel.Text = "Upload status: File uploaded!";
Newfilename = fileLocation;
Defaultfilename = Path.GetFileName(ASPxUploadControl1.FileName);
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
else
{
StatusLabel.Text = "Please choose excel file";
}
}
}
我正在尝试将值分配给Newfilename和Defaultfilename(在命名上传文件后的“try”内),但它们保持为空。
我哪里错了?
答案 0 :(得分:1)
如果传递的值为null,则Path.GetExtension返回null,如果传递的值没有扩展名,则返回string.Empty。 因此,请检查 ASPxUploadControl1.FileName 中的值是否实际包含有用的内容。
如果不是这种情况,那么你将不得不查找设置值的位置并从那里进行调试,以找出未设置的原因。
答案 1 :(得分:1)
你可以单步执行吗?
NewFilename = fileLocation;
被执行?
如果是这样,NewFilename之前和之后的值是什么?
这看起来像ASP.Net代码。 如果是。当您尝试在代码隐藏中的其他地方使用 NewFilename 时出现的问题是空白的。 如果是,则可能需要将 NewFilename 保存到会话中以允许您使用它。
hth,
艾伦。
答案 2 :(得分:1)
重构您的代码并考虑您想要的过程..然后调试代码..测试它...如果您有问题然后编辑您的帖子..这就是我的建议.. 如果语句应该以代码块“{}”包装,你可以尝试{}一个好的经验法则,即使可读性也可以包围{}如果你有if,否则它会使得难以阅读以及提供援助。
在您声明以下内容的代码中,在方法本身中使它们成为变量
所以你的方法看起来像这样
protected void btnup_Click(object sender, EventArgs e)
{
string fileExt = string.Empty;
string extension = string.Empty;
string id = string.Empty;
string fileLocation = string.Empty;
if (ASPxUploadControl1.HasFile)
{
fileExt = Path.GetExtension(ASPxUploadControl1.FileName);
if (fileExt == ".xls" || fileExt == ".xlsx")
{
try
{
extension = Path.GetExtension(ASPxUploadControl1.FileName);
id = Guid.NewGuid().ToString();
fileLocation = string.Format("{0}/{1}{2}", Server.MapPath("upload/"), id, extension);
ASPxUploadControl1.SaveAs( fileLocation );
StatusLabel.Text = "Upload status: File uploaded!";
Newfilename = fileLocation;
Defaultfilename = Path.GetFileName(ASPxUploadControl1.FileName);
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
else
{
StatusLabel.Text = "Please choose excel file";
}
}
}