Razor 图像文件未保存
我是Webmatrix的新手,尝试创建一个带有照片的个人资料页面,可以进行更新。我似乎不明白为什么它不工作,但我的代码看起来很好。有人能看一下下面的代码,让mew知道我做错了什么吗 免责声明-我是一名试图自学的黑客开发人员,因此请原谅错误的语法和您看到的任何其他内容Razor 图像文件未保存,razor,webmatrix,Razor,Webmatrix,我是Webmatrix的新手,尝试创建一个带有照片的个人资料页面,可以进行更新。我似乎不明白为什么它不工作,但我的代码看起来很好。有人能看一下下面的代码,让mew知道我做错了什么吗 免责声明-我是一名试图自学的黑客开发人员,因此请原谅错误的语法和您看到的任何其他内容 @{ if (!WebSecurity.IsAuthenticated) { Response.Redirect("~/Account/Login?returnUrl=" + Request.Url.Loca
@{
if (!WebSecurity.IsAuthenticated) {
Response.Redirect("~/Account/Login?returnUrl="
+ Request.Url.LocalPath);
}
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Update Profile";
WebImage photo = null;
var newFileName = "";
var imagePath = "";
var UserID = "";
var Email = "";
var FirstName = "";
var LastName = "";
var DOB = "";
var EmploymentStatus = "";
var CurrentTitle = "";
var Company = "";
var LinkedInURL = "";
var Resume = "";
var Photo = "";
var ContractorIntro = "";
if(!IsPost){
if(!Request.QueryString["UserID"].IsEmpty() && Request.QueryString["UserID"].IsInt()) {
UserID = Request.QueryString["UserID"];
var db = Database.Open("JobsLoop");
var dbCommand = "SELECT * FROM UserProfile WHERE UserID = @0";
var row = db.QuerySingle(dbCommand, UserID, DOB);
if(row != null) {
UserID = row.UserID.ToString();
FirstName = row.FirstName;
LastName = row.LastName;
EmploymentStatus = row.EmploymentStatus;
CurrentTitle = row.CurrentTitle;
Company = row.Company;
DOB = row.DOB.ToString(format: "dd/MM/yy");
LinkedInURL = row.LinkedInURL;
Resume = row.Resume;
Photo = row.Photo;
ContractorIntro = row.ContractorIntro;
}
}
else{
Validation.AddFormError("No Profile was selected.");
// Use the following line instead for versions of ASP.NET Web Pages 2 earlier
// than the RC release.
//ModelState.AddFormError("No movie was selected.");
}
}
if(IsPost){
Validation.RequireField("UserID", "You must enter a user ID");
Validation.RequireField("FirstName", "First Name is required");
Validation.RequireField("LastName", "No Last Name was submitted!");
Validation.RequireField("DOB", "No DOB was submitted!");
Validation.RequireField("EmploymentStatus", "No Employment Status was submitted!");
Validation.RequireField("CurrentTitle", "No Current Title was submitted!");
//Validation.RequireField("LinkedInURL", "No LinkedIn address was submitted!");
UserID = Request.Form["UserID"];
FirstName = Request.Form["FirstName"];
LastName = Request.Form["LastName"];
DOB = Request.Form["DOB"];
EmploymentStatus = Request.Form["EmploymentStatus"];
CurrentTitle = Request.Form["CurrentTitle"];
Company = Request.Form["Company"];
LinkedInURL = Request.Form["LinkedInURL"];
Resume = Request.Form["Resume"];
Photo = Request.Form["Photo"];
ContractorIntro = Request.Unvalidated["ContractorIntro"];
if(Validation.IsValid()){
photo = WebImage.GetImageFromRequest();
if(photo != null)
{
newFileName = Guid.NewGuid().ToString() + "_" +
Path.GetFileName(photo.FileName);
imagePath = @"profile\" + newFileName;
photo.Save(@"~\" + imagePath);
Photo = @newFileName;
}
else
{
}
if(newFileName.IsEmpty())
{
var db = Database.Open("JobsLoop");
var updateCommand = "UPDATE UserProfile SET FirstName=@1, LastName=@2, DOB=@3, EmploymentStatus=@4, CurrentTitle=@5, Company=@6, LinkedInURL=@7, Resume=@8, ContractorIntro=@9 WHERE UserID=@0";
db.Execute(updateCommand, UserID, FirstName, LastName, DOB, EmploymentStatus, CurrentTitle, Company, LinkedInURL, Resume, ContractorIntro);
}
else{
if(Validation.IsValid()){
var db = Database.Open("JobsLoop");
var updateCommand = "UPDATE UserProfile SET FirstName=@1, LastName=@2, DOB=@3, EmploymentStatus=@4, CurrentTitle=@5, Company=@6, LinkedInURL=@7, Resume=@8, ContractorIntro=@9, Photo=@10 WHERE UserID=@0";
db.Execute(updateCommand, UserID, FirstName, LastName, DOB, EmploymentStatus, CurrentTitle, Company, LinkedInURL, Resume, ContractorIntro, Photo);
}
}
}
}
}
表单的操作是否设置为POST,enctype是否设置为“multipart/form data”?这就是我所使用的:我修复了这个问题,我在html中有一个额外的部分导致了这个问题