【发布时间】:2018-01-10 15:58:23
【问题描述】:
首先,我首先使用来自数据库 MVC5 /C# 的实体框架代码。 我想添加新用户,但是当我尝试添加电子邮件时出现错误。
这是我的控制器方法:
[HttpPost]
public ActionResult InsertUser(Users users, string radioActive)
{
Users newuser = new Users();
newuser.username = users.username;
newuser.password = users.password;
newuser.name = users.name;
newuser.mail = users.mail;
if (radioActive == "on") newuser.isActive = true;
else newuser.isActive = false;
db.Users.Add(newuser);
db.SaveChanges();
return Redirect(Url.Content("~/Administrate/"));
}
问题是 db.SaveChanges();我不明白为什么,但我的所有值都返回良好,除了电子邮件。电子邮件返回 null,我收到了他的错误。
这也是我的看法:
<div class="panel panel-primary">
<div class="panel-heading text-center">KULLANICI EKLE</div>
<div class="panel-body">
<form data-toggle="validator" role="form" action="~/Administrate/InsertUser" method="post">
<div class="form-group">
<label for="username" class="control-label">Kullanıcı Adı</label>
<input type="text" class="form-control" id="username" name="username"placeholder="Lütfen kullanıcı adını giriniz." required>
</div>
<div class="form-group">
<label for="password" class="control-label">Şifre</label>
<div class="form-inline row">
<div class="form-group col-sm-6">
<input type="password" name="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" class="form-control" id="password" placeholder="Şifre" required>
<div class="help-block">Şifreniz ez bir sayı,bir büyük ve bir küçük harf içermeli ve minimum 6 karakterden oluşmalıdır.</div>
</div>
<div class="form-group col-sm-6">
<input type="password" class="form-control" name="passwordConfirm" id="passwordConfirm" data-match="#password" data-match-error="Şifreniz eşleşmiyor" placeholder="Şifre Tekrar" required>
<div class="help-block with-errors"></div>
</div>
</div>
</div>
<div class="form-group">
<label for="name" class="control-label">Çalışan Adı Soyadı</label>
<input type="text" class="form-control" name="name" id="name" placeholder="Lütfen adınızı ve soyadınızı giriniz." required>
</div>
<div class="form-group">
<label for="email" class="control-label">Email</label>
<input type="email" class="form-control" name="email" id="email" placeholder="Email" data-error="Email adresi geçerli değil." required/>
</div>
<div class="form-group">
<div class="radio">
<label>
<input type="radio" id ="isActive" name="radioActive" required>
Aktif
</label>
</div>
<div class="radio">
<label>
<input type="radio" id="isActive" name="radioActive" required>
Pasif
</label>
</div>
</div>
<div class="form-group">
<label for="groupID" class="control-label">Grup Adı</label>
<select class="form-control" name="groupID" id="groupID" required>
<option selected disabled >Lütfen Grubunuzu seçiniz</option>
@foreach (var item in ViewData["Gruplar"] as IList<WebApplication1.Models.Groups>)
{
<option value="@item.id">@item.groupName</option>
}
</select>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">Kullanıcıyı Kaydet</button>
</div>
</form>
</div>
</div>
我正在使用 MSSQL Server 17,并且我的表中电子邮件的数据类型是 varchar(50)。我该如何解决这个问题并返回电子邮件不为空。我是编码新手,也是 MVC5,所以如果你能帮助我,我非常感激。
【问题讨论】:
-
从错误中检查内部异常部分,那里描述了出现问题。
-
您在控制器中调用字段
mail,但在您的视图中调用email。也许尝试在您的视图中删除e? -
此外,这个输入标签似乎显示错字:
<input type="email" class="form-control" name="email" id="email" ... />。它应该与模型属性名称匹配:<input type="email" class="form-control" name="mail" id="mail" ... /> -
哦,谢谢你们俩的帮助。我不知道我怎么看不到那些错误。我有点尴尬。再次感谢你。 @oerkelens
-
和@TetsuyaYamamoto
标签: c# sql-server html ef-code-first asp.net-mvc-5