3
我需要两种模型,因此我创建了ViewModel
,它们组合了它们。这是获取方法。但是在帖子上,我的input type=submit
正在返回ViewModel
,但里面的属性值为空。有什么建议?ViewModel属性提交时为null
这是我对GET和POST
[HttpGet]
public ActionResult Report(int id)
{
using (SkolskaBibliotekaDBModel db = new SkolskaBibliotekaDBModel())
{
ReportZaPrikaz RZP = new ReportZaPrikaz();
var komentar = db.Komentar.FirstOrDefault(x => x.KomentarID == id);
RZP.kzp = new KomentarZaPrikaz()
{
KomentarID = komentar.KomentarID,
KomentarText = komentar.KomentarText,
KorisnikID = komentar.KorisnikID,
Reported = komentar.Reported,
VremeKomentara = komentar.VremeKomentara,
Ime = komentar.Korisnik.Ime,
Prezime = komentar.Korisnik.Prezime,
PicPath = komentar.Korisnik.PicPath,
VoteUp = komentar.VoteUp,
VoteDown = komentar.VoteDown
};
RZP.report = db.PrijavaKomentara.Create();
return View("Report",RZP);
}
}
[HttpPost]
public void Report(ReportZaPrikaz RZP)
{
using (SkolskaBibliotekaDBModel db = new SkolskaBibliotekaDBModel())
{
db.PrijavaKomentara.Add(RZP.report);
db.SaveChanges();
}
}
行动,这是我的视图模型:
namespace SkolskaBiblioteka.ViewModels
{
public class ReportZaPrikaz
{
public KomentarZaPrikaz kzp;
public PrijavaKomentara report;
}
}
,这是我的看法:
@model SkolskaBiblioteka.ViewModels.ReportZaPrikaz
@using SkolskaBiblioteka.ViewModels
@{
ViewBag.Title = "Пријава коментара";
}
<div class="container">
@Html.Partial("_Komentar", Model.kzp)
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>PrijavaKomentara</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@{
Model.report.KorisnikId = ((KorisnikZaPrikaz)Session["Korisnik"]).KorisnikId;
}
@Html.HiddenFor(x => x.report.KorisnikId)
@{
Model.report.KomentarId = Model.kzp.KomentarID;
}
@Html.HiddenFor(x => x.report.KomentarId)
@{
Model.report.VremePrijave = DateTime.Now;
}
@Html.HiddenFor(x => x.report.VremePrijave)
<div class="form-group">
@Html.LabelFor(model => model.report.Tekst, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.report.Tekst, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
</div>
你比我快几秒钟。我写了完全相同的答案+1 –
亲爱的上帝。 - 昨晚真的很晚。谢谢。 –