में ViewComponent से फ़ॉर्म सबमिट करें और नियंत्रक कार्रवाई करें, मैं ASP.NET 5, एमवीसी कोर एप्लिकेशन में ViewComponent में किसी फ़ॉर्म से ListItems जोड़ना चाहता हूं।एएसपी.NET कोर
घटक दृश्य (दृश्य \ साझा \ अवयव \ AddListItem \ Default.cshtml):
@model ShoppingList.Models.ListItem
<form asp-action="Create">
<div class="form-horizontal">
<hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<!-- some fields omitted for brevity -->
<div class="form-group">
<label asp-for="Description" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Description" class="form-control" />
<span asp-validation-for="Description" class="text-danger" />
</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>
</form>
ViewComponent नियंत्रक (ViewComponents \ AddListItem.cs):
namespace ShoppingList.ViewComponents
{
public class AddListItem : ViewComponent
{
private readonly ApplicationDbContext _context;
public AddListItem(ApplicationDbContext context)
{
_context = context;
}
public IViewComponentResult Invoke(string listId)
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IViewComponentResult> Create (ListItem listItem)
{
_context.ListItem.Add(listItem);
await _context.SaveChangesAsync();
return View(listItem);
}
}
}
घटक शुरू हो जाती है home.cshtml में:
@{
ViewData["Title"] = "Home Page";
}
@Component.Invoke("AddListItem", @ViewBag.DefaultListId)
हालांकि, मैं इसे काम पर नहीं ला सकता। कुछ भी नहीं जोड़ा गया है।
हो क्या आप इस व्यू कॉम्पोनेंट को बुला रहे हैं? – Dealdiane
@ { व्यूडाटा ["शीर्षक"] = "होम पेज"; } @ घटक। इन्वोक ("AddListItem", @ ViewBag.DefaultListId) –