Bunun çok basit olduğundan eminim ama burada biraz takılıyorum. Uygulamam için tanımlanan yönlendirme sadece varsayılan değerdir. Aşağıdaki denetleyici tanımlanmış. Ben /Admin/EditDocument/1/
gittiğinizde beklendiği gibiBu nesne için tanımlı parametreler bulunmuyor. ASP.NET MVC Denetleyicide
namespace Baynes.Wedding.Web.Controllers
{
public class AdminController : Controller
{
private readonly IAuthProvider _authProvider;
private readonly IDocumentRepository _documentRepository;
public AdminController(IAuthProvider authProvider, IDocumentRepository documentRepository)
{
_authProvider = authProvider;
_documentRepository = documentRepository;
}
public ViewResult EditDocument(int id)
{
var document = _documentRepository.Select(id);
return View(new DocumentEditViewModel(document));
}
[HttpPost]
public ActionResult EditDocument(DocumentEditViewModel model)
{
if (ModelState.IsValid)
{
_documentRepository.Update(model.ToDocument());
return RedirectToAction("ListDocuments");
}
return View();
}
}
}
sonra ilk eylemi, aşağıdaki görünümü render tam yürütür: -:
No parameterless constructor defined for this object.
Diğer sorular - Bu göndererek Açık
<h2>@ViewBag.Title</h2>
@using (Html.BeginForm("EditDocument", "Admin", FormMethod.Post)) {
@Html.ValidationSummary(true)
@Html.HiddenFor(m => Model.Id)
<div>
@Html.LabelFor(m => Model.Title)
</div>
<div>
@Html.TextBoxFor(m => Model.Title)
</div>
<div>
@Html.LabelFor(m => Model.Body)
</div>
<div>
@Html.TextAreaFor(m => Model.Body)
</div>
<div>
@Html.LabelFor(m => Model.Url)
</div>
<div>
@Html.TextBoxFor(m => Model.Url)
</div>
<input type="submit" value="Edit" />
}
bir hata alıyorum Görünüşe göre ilgili sorular MVC: No parameterless constructor defined for this object, IoC konteynerinin düzgün bir şekilde ayarlanmadığını, ancak ilk eylemin bir problem olmadan yürütüldüğü gerçeği ile ilgili bir sorun olmadığını gösterir. burada amblem mi var?
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
Saygılarımızla.
Simon
Lütfen DocumentViewModel –