無參數的構造函數我已搜查,並試圖對我的問題,我不能找到解決辦法,我想知道,如果有人可以幫助我解決我的代碼..此對象定義MVC3
我有一個視圖編輯用戶..
@model MembershipUser
@{
ViewBag.Title = "Edit";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
Username:
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.UserName)
</div>
<div class="editor-label">
Email:
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Email)
</div>
<div class="editor-label">
Password:
</div>
<div class="editor-field">
@Html.DisplayFor(model => model.Password)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
然後在控制器中的動作可以獲取用戶信息..
[Authorize(Roles = "Admins")]
public ActionResult Edit(string username)
{
var usu = Membership.GetUser(username);
return View(usu);
}
,另一個可以更新用戶..
[Authorize(Roles = "Admins")]
[HttpPost]
public ActionResult Edit(MembershipUser umtoupdate)
{
MembershipUserCollection iduser = Membership.GetAllUsers();
if(umtoupdate.Password != umtoupdate.ConfirmPassword)
{
alert = "Password dont match!";
return View("Users", "Admin");
}
else {
foreach (MembershipUser um in iduser) {
if (um.UserName == umtoupdate.UserName) {
Membership.DeleteUser(um.UserName, true);
// Attempt to register the new updated user
MembershipCreateStatus createStatus;
Membership.CreateUser(umtoupdate.UserName,
umtoupdate.Password,
umtoupdate.Email,
umtoupdate.PasswordQuestion,
umtoupdate.AnswerQuestion, true, null, out createStatus);
}
}
}
return View("Details", umtoupdate.UserName);
}
而且在這個班,我已經定義了創建一個列表做另外的事情(我放,因爲它給我介紹一下參數的構造函數)一個構造函數..
public AdminController()
{
foreach (MembershipUser member in iduser) {
UserEntity entity2 = new UserEntity();
entity2.Username = member.UserName;
entity2.Roles = "Users";
entity2.Email = member.Email;
for (int i = 1; i < iduser.Count; i++)
{
entity2.ID_client = i;
}
_entities.Add(entity2);
}
然後,我去編輯一個用戶,我可以去第一個視圖(哪裏可以編輯信息),但是當我嘗試保存更新的信息並轉到第二個視圖來更新用戶,它告訴我
「[MissingMethodException沒有爲此對象定義的無參數構造函數。「
有人能告訴我如何解決它?如果我更改編輯(字符串)並刪除字符串參數,但在這種情況下,我不能獲取信息用戶,如果我添加另一個視圖沒有參數,它不工作的歧義..
謝謝。
好的,謝謝我不知道它沒有公共構造函數!但是,如果我從的MembershipUser做另一個繼承類(例如,MYUSER如你所說,有一個公共構造函數),我做
public ActionResult Edit(MyUser umtoupdate) {...}
當我嘗試獲取用戶信息使用的MembershipUser字典,而不是告訴我,即時通訊MYUSER字典,因爲與另一種觀點認爲
[Authorize(Roles = "Admins")]
public ActionResult Edit(string username)
{
var usu = Membership.GetUser(username);
return View(usu);
}
使用membeship類,並返回一個會員用戶,因爲是從會員的方法,我不能在這種情況下MyUser.GetUser使用!
我能做些什麼來解決它?
非常感謝。