2
Asp.net MVCでEnumからドロップダウンリストを作成しようとしています。以下のコードでは、上記のエラーが発生しています。戻り値の型 'System.String'はサポートされていません。パラメータ名:expression MVC Enum
<div class="col-md-10">
@Html.EnumDropDownListFor(model => model.SenderType, null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.SenderType, "", new { @class = "text-danger" })
</div>
マイコントローラ:
public ActionResult Create([Bind(Include = "SenderId,SenderName,SenderType,SenderPurpose,UserId")] SenderModel senderModel)
{
try
{
if (ModelState.IsValid)
{
var currentUserId = User.Identity.GetUserId();
senderModel.UserId = int.Parse(currentUserId);
db.Sender.Add(senderModel);
db.SaveChanges();
return RedirectToAction("Index");
}
}
catch (DataException /* dex */)
{
//Log the error (uncomment dex variable name and add a line here to write a log.
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
}
return View(senderModel);
}
モデル:
public enum SenderType
{
Transactional,
Promotional
}
public class SenderModel
{
[Key]
public int SenderId { get; set; }
[Display(Name = "Sender Name")]
public string SenderName { get; set; }
[Display(Name = "Sender Type")]
public string SenderType { get; set; }
[Display(Name = "Sender Purpose")]
public string SenderPurpose { get; set;}
public int UserId { get; set; }
public virtual ApplicationUser User { get; set; }
}
私は私のコードを掲載している。ここ
はコードです。助けがありがとう
model.SenderTypeとは何ですか。 – DavidG
EnumDropDownListForがサポートしていないモデルでは、 "public string SenderType {get; set;}"を文字列型として見ることができます –