在此处输入代码我已经阅读了一些其他类似我的帖子,但仍然没有可用的答案。
我有一个编辑器用于我的个人资料信息,它可以为所选用户获取数据,但是一旦我尝试保存它,我就会收到以下错误。
未找到设置属性“FirstName”。
事情是为了 POST,我什至还没有做任何事情。我认为它试图加载或获取配置文件对象以在发布后填充模型。从我可以看到的调用堆栈中没有任何内容可以找到发生这种情况的位置。
网络配置:
<profile inherits="MyWeb.BusinessLayer.Models.Account.Profile" enabled="true" defaultProvider="AspNetSqlProfileProvider">
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="My Website"/>
</providers>
</profile>
配置文件类
public class Profile : ProfileBase
{
[Display(Name = "First Name")]
[Required(ErrorMessageResourceName = "err_req_field", ErrorMessageResourceType = typeof(Resources))]
[StringLength(50, MinimumLength = 3, ErrorMessageResourceName = "err_len_field", ErrorMessageResourceType = typeof(Resources))]
public virtual string FirstName
{
get
{
return (this.GetPropertyValue("FirstName").ToString());
}
set
{
this.SetPropertyValue("FirstName", value);
}
} ... abreviated
控制器动作
public ViewResult EditProfile(Guid id)
{
var user = _userService.Get(id);
Profile _profile = Profile.GetProfile(user.UserName);
return View(_profile);
}
[AcceptVerbs(HttpVerbs.Post)]
public RedirectToRouteResult EditProfile(Profile profile)
{
return RedirectToAction("Index" , "UserAdministration" );
}
显示编辑器工作正常,我得到了数据,就在我尝试发布时,我得到了这个。还有其他想法吗?我唯一的其他想法可能是做一个 Ajax Post,将参数拆分而不是 Profile 模型,然后读取并设置。/.. 想法?