我的台词
ctx.SaveChanges();
在我的控制器中
DutyController.cs
当我试图编辑我的职责对象时引发以下异常。
System.Data.Services.Client.DataServiceClientException:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code></code>
<message xml:lang="en-US">Resource not found for the segment 'Duty'.</message>
</error>
我的“编辑职责”视图包括一个下拉列表的场合。occasionid guid在提交时成功绑定到工作模型。
模特儿
[MetadataType(typeof(DutyMetadata))]
public partial class Duty
{
private class DutyMetadata
{
...
[Required]
[UIHint("OccasionId")]
[Display(Name = "Occasion")]
public object OccasionId { get; set; }
}
}
视图\职责\编辑.aspx
<%: Html.EditorForModel() %>
视图\共享\显示模板\occasionid.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Guid>" %>
<%: Html.DropDownList(string.Empty, new SelectList(ViewData["occasions"] as IEnumerable<Web.VolunteerData.Occasion>, "Id", "Designation", Model), "Select Occasion")%>
控制器\dutycontroller.cs
public ActionResult Edit(Guid id)
{
var Model = (from Duty d in ctx.Duties where d.Id == id select d).Single();
ViewData["occasions"] = from Occasion o in ctx.Occasions orderby o.Designation select o;
return View(Model);
}
[HttpPost]
public ActionResult Edit(Duty Model)
{
ctx.AttachTo("Duty", Model);
ctx.UpdateObject(Model);
ctx.SaveChanges();
return RedirectToAction("Index");
}
为什么savechanges()会导致“找不到段的资源…”异常?
有没有更好的方法让我做我想做的?