我有上傳文件添加視圖,其是Question
類的元件相同的對象不在兩個動作
@model PasmISO.Domain.Question
@using (Html.BeginForm("Add", "Photo", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="editor-field">
@Html.TextAreaFor(model => model.QuestionRevisions.First().Content)
@Html.ValidationMessageFor(model => model.QuestionRevisions.First().Content)
</div>
<input type="file" name="file" id="file" />
<br/>
<input type="submit" value="Ask" />
}
我在我的控制器2點的操作
第一處理措施是當用戶點擊在添加按鈕,他得到形成上傳照片:當用戶接受的形式
public ActionResult Add()
{
db.Users.Add(new User() { Avatar = new Avatar() { Link = new Uri("http://myUrl/%2E%2E/%2E%2E") }, CreationDate = DateTime.Now, LastActivityDate = DateTime.Now, LastLoginDate = DateTime.Now });
db.SaveChanges();
db.Users.Local.First().Questions = new Collection<Question>() { new Question() };
var question = new Question();
question.QuestionRevisions = new Collection<QuestionRevision>();
var questionRevision = new QuestionRevision();
questionRevision.Tags = new Collection<Tag>();
question.QuestionRevisions.Add(questionRevision);
return View(question);
}
和第二個動作的時候觸發:
[HttpPost]
public ActionResult Add(Question containers, HttpPostedFileBase file)
{
的問題是THA我看到Question
還沒有questionrevisions(爲null)
爲什麼這個對象進行復位?
我有一個領域控制器:
PasmISOContext db = new PasmISOContext();
這是一類Question
公共類問題 { [關鍵] 公衆詮釋標識{獲得;組; }
public virtual User Creator { get; set; }
public int CreatorId { get; set; }
public int PhotoId { get; set; }
public virtual ICollection<QuestionRevision> QuestionRevisions { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
public virtual ICollection<QuestionVote> Votes { get; set; }
public virtual Photo Photo { get; set; }
}
這裏是我的上下文的定義:
public class PasmISOContext : DbContext
{
public DbSet<Avatar> Avatars { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Question> Questions { get; set; }
public DbSet<QuestionRevision> QuestionRevisions { get; set; }
public DbSet<Photo> Photos { get; set; }
public DbSet<Achievement> Achievements { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Tag> Tags { get; set; }
public DbSet<QuestionVote> QuestionVotes { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}