en utilisant le code DataViewModel avec un formulaire pour créer et modifier avec vue partielle, dans le code ci-dessous dans la création Je ne suis pas en mesure d'entrer les valeurs à la base de données, dans le mode d'édition Je ne suis pas en mesure d'afficher la valeur aussi bien dans les zones de texte pour éditer (L'enregistrement est créé mais aucune valeur de formulaire ne va à la base de données).ASP.NET MVC DataViewModel problème sans insert et modifier
public class OrganizationGroupFormViewModel
{
// Properties
public OrganizationGroup OrganizationGroup { get; private set; }
public OrganizationGroupFormViewModel(OrganizationGroup organizationGroup)
{
OrganizationGroup = organizationGroup;
}
}
public class OrganizationGroupsController : Controller
{
//
// GET: /OrganizationGroups/
OrganizationGroupsRepository OrganizationGroupRepository = new OrganizationGroupsRepository();
OrganizationUsersDataContext _db = new OrganizationUsersDataContext();
public ActionResult Create()
{
try
{
OrganizationGroup OrgGroup = new OrganizationGroup() {
int_CreatedBy=1,
dtm_CreatedDate=DateTime.Now
};
return View(new OrganizationGroupFormViewModel(OrgGroup));
}
catch
{
return View();
}
}
[HttpPost]
public ActionResult Create(OrganizationGroup OrgGroup)
{
if (ModelState.IsValid)
{
OrgGroup.int_CreatedBy = 1;
OrgGroup.dtm_CreatedDate = DateTime.Now;
OrganizationGroupRepository.Add(OrgGroup);
OrganizationGroupRepository.Save();
return RedirectToAction("Details", new { id = OrganizationGroupRepository.int_OrganizationGroupId });
}
return View(new OrganizationGroupFormViewModel(OrgGroup));
}
//
// GET: /OrganizationGroups/Edit/5
public ActionResult Edit(int id)
{
try
{
var OrgGroup = _db.OrganizationGroups.First(m => m.int_OrganizationGroupId == id);
if (ModelState.IsValid)
{
OrgGroup.int_ModifiedBy = 1;
OrgGroup.dtm_ModifiedDate = DateTime.Now;
}
return View(new OrganizationGroupFormViewModel(OrgGroup));
}
catch
{
return View();
}
}
//
// POST: /OrganizationGroups/Edit/5
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
var OrgGroup = _db.OrganizationGroups.First(m => m.int_OrganizationGroupId == id);
if (ModelState.IsValid)
{
OrgGroup.int_ModifiedBy = 1;
OrgGroup.dtm_ModifiedDate = DateTime.Now;
TryUpdateModel(OrgGroup);
OrganizationGroupRepository.Save();
}
return RedirectToAction("Details", new { id = OrgGroup.int_OrganizationGroupId });
}
catch
{
return View();
}
}
Créer une vue;
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Egovst.Controllers.OrganizationGroupFormViewModel>" %>
Créer Organisation Groupe
<h2>Create</h2>
<%= Html.ValidationSummary(true) %>
<div>
<% Html.RenderPartial("OrganizationGroup"); %>
</div>
Organisation Groupe de contrôle utilisateur
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Egovst.Controllers.OrganizationGroupFormViewModel>" %>
<% using (Html.BeginForm()) {%>
<%= Html.ValidationSummary(true) %>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
Organization Group Name:
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.OrganizationGroup.vcr_OrganizationGroupName)%>
<%= Html.ValidationMessageFor(model => model.OrganizationGroup.vcr_OrganizationGroupName)%>
</div>
<div class="editor-label">
Organization Group Description:
</div>
<div class="editor-field">
<%= Html.TextAreaFor(model => model.OrganizationGroup.vcr_OrganizationGroupDesc)%>
<%= Html.ValidationMessageFor(model => model.OrganizationGroup.vcr_OrganizationGroupDesc)%>
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
<% } %>
ok étrange presque le même code fonctionne pour le modèle de cadre d'entité? J'ai créé le modèle d'entité et modifié uniquement la base de données d'insertion d'insertion de la base de données. Ça marche. mais quel mal je peux faire ci-dessus? – maztt