C# 我的注册视图没有发布输入
我正在尝试使用c#、html和MVC进行登录和注册视图。首先,我的数据库中有一个名为“Usuarios”的表,表中的列有:Username、Contrasena(密码)、Email等。当我填写所有文本框以测试我的控制器是否更新数据库(添加新用户)时,它不起作用 ClientController中的My RegisterClient()方法:C# 我的注册视图没有发布输入,c#,html,model-view-controller,C#,Html,Model View Controller,我正在尝试使用c#、html和MVC进行登录和注册视图。首先,我的数据库中有一个名为“Usuarios”的表,表中的列有:Username、Contrasena(密码)、Email等。当我填写所有文本框以测试我的控制器是否更新数据库(添加新用户)时,它不起作用 ClientController中的My RegisterClient()方法: [HttpPost] [AllowAnonymous] public ActionResult RegisterClient(RegisterViewMod
[HttpPost]
[AllowAnonymous]
public ActionResult RegisterClient(RegisterViewModel model)
{
if(ModelState.IsValid)
{
Cliente Client = new Cliente(model.NombreUsuario, model.Password, model.Nombre, model.Apellido, model.Domicilio, model.TipoDoc, model.NumeroDoc, model.Telefono);
using (var db = new ContextoDB())
{
if (db.Usuarios.Any(u => u.NombreUsuario == Client.NombreUsuario))
{
ViewBag.DuplicateMessage = "Nombre de usuario en uso.";
return View("RegisterClient", model);
}
db.Usuarios.Add(Client);
db.SaveChanges();
}
ModelState.Clear();
ViewBag.SuccessMessage = "Registado excitosamente!";
return RedirectToAction("RegistrationSuccess", "Account");
} else
{
return View(model);
}
}
RegisterClient视图:
<div class="register-box">
<h4 class="h4-header">Registro paso 2 de 2 </h4>
@Html.ValidationSummary(true, "Register failed. Check your login details.")
<fieldset class="fieldset-box client-field">
<div class="user-info-box">
<h3> Datos de la cuenta</h3>
<div class="editor-field">
@Html.TextBoxFor(model => model.NombreUsuario, new { Class = "YourBackgroundClass", Placeholder = "Usuario" })
@Html.ValidationMessageFor(model => model.NombreUsuario, "", new { @class = "text-danger" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Email, new { Class = "YourBackgroundClass", Placeholder = "Email" })
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password, new { Class = "YourBackgroundClass", Placeholder = "Contraseña" })
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.ConfirmPassword, new { @class = "YourBackgroundClass", Placeholder = "Confirmar contraseña" })
@Html.ValidationMessageFor(model => model.ConfirmPassword, "", new { @class = "text-danger" })
</div>
</div>
<div class="personal-info-box">
<h3> Datos personales</h3>
<div class="editor-field">
@Html.TextBoxFor(model => model.Nombre, new { Class = "YourBackgroundClass", Placeholder = "Nombre" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Apellido, new { Class = "YourBackgroundClass", Placeholder = "Apellido" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Domicilio, new { Class = "YourBackgroundClass", Placeholder = "Domicilio" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Telefono, new { Class = "YourBackgroundClass", Placeholder = "Telefono" })
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.NumeroDoc, new { Class = "YourBackgroundClass", Placeholder = "Numero de documento" })
</div>
</div>
</fieldset>
<form action="" method="post">
<input type="submit" class="but-next next round" name="upvote" value="›" />
</form>
<a href="#" class="but-next next round">›</a>
</div>
注册paso 2 de 2
@ValidationSummary(true,“注册失败。请检查您的登录详细信息。”)
达托斯德拉昆塔酒店
@TextBoxFor(model=>model.NombreUsuario,new{Class=“YourBackgroundClass”,Placeholder=“Usuario”})
@Html.ValidationMessageFor(model=>model.NombreUsuario,“,new{@class=“text danger”})
@Html.TextBoxFor(model=>model.Email,新的{Class=“YourBackgroundClass”,Placeholder=“Email”})
@Html.ValidationMessageFor(model=>model.Email,“,new{@class=“text danger”})
@Html.PasswordFor(model=>model.Password,新的{Class=“YourBackgroundClass”,Placeholder=“Contraseña”})
@Html.ValidationMessageFor(model=>model.Password,“,new{@class=“text danger”})
@Html.PasswordFor(model=>model.ConfirmPassword,新的{@class=“YourBackgroundClass”,Placeholder=“Confirmar contraseña”})
@Html.ValidationMessageFor(model=>model.ConfirmPassword,“,new{@class=“text danger”})
达托斯个人酒店
@TextBoxFor(model=>model.Nombre,new{Class=“YourBackgroundClass”,Placeholder=“Nombre”})
@Html.TextBoxFor(model=>model.Apellido,new{Class=“YourBackgroundClass”,Placeholder=“Apellido”})
@Html.TextBoxFor(model=>model.Domicilio,new{Class=“YourBackgroundClass”,Placeholder=“Domicilio”})
@Html.TextBoxFor(model=>model.Telefono,新的{Class=“YourBackgroundClass”,Placeholder=“Telefono”})
@Html.TextBoxFor(model=>model.NumeroDoc,新的{Class=“YourBackgroundClass”,Placeholder=“Numero de documento”})
当我填充所有框时,它会触发验证消息。您需要将所有输入包装在
标记中
注册paso 2 de 2
@ValidationSummary(true,“注册失败。请检查您的登录详细信息。”)
达托斯德拉昆塔酒店
@Html.TextBoxFor(model=>model.NombreUsuario,new{Class=“YourBackgroundClass”,Placeholder=“Usuario”})@Html.ValidationMessageFor(model=>model.NombreUsuario,”,new{@Class=“text danger”})
@Html.TextBoxFor(model=>model.Email,new{Class=“YourBackgroundClass”,Placeholder=“Email”})@Html.ValidationMessageFor(model=>model.Email,”,new{@Class=“text danger”})
@Html.PasswordFor(model=>model.Password,new{Class=“YourBackgroundClass”,Placeholder=“Contraseña”})@Html.ValidationMessageFor(model=>model.Password,”,new{@Class=“text danger”})
@Html.PasswordFor(model=>model.ConfirmPassword,new{@class=“YourBackgroundClass”,Placeholder=“Confirmar contraseña”})Html.ValidationMessageFor(model=>model.ConfirmPassword,”,new{@class=“text danger”})
达托斯个人酒店
@TextBoxFor(model=>model.Nombre,new{Class=“YourBackgroundClass”,Placeholder=“Nombre”})
@Html.TextBoxFor(model=>model.Apellido,new{Class=“YourBackgroundClass”,Placeholder=“Apellido”})
@Html.TextBoxFor(model=>model.Domicilio,new{Class=“YourBackgroundClass”,Placeholder=“Domicilio”})
@Html.TextBoxFor(model=>model.Telefono,新的{Class=“YourBackgroundClass”,Placeholder=“Telefono”})
@Html.TextBoxFor(model=>model.NumeroDoc,新的{Class=“YourBackgroundClass”,Placeholder=“Numero de documento”})
它不会发布输入,因为上面的代码显示没有发布到控制器
如果我是你,我会将你想要发送给控制器的所有内容都放在一个Html.BeginForm中,例如:
@using (Html.BeginForm("RegisterClient", "//ControllerName", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
// This is where you will put all the input boxes and text boxes that you want to send to the controller method
// Submit button to send model data to method
<button type="submit">
}
@使用(Html.BeginForm(“RegisterClient”,“ControllerName”,FormMethod.Post,new{@class=“form horizontal”,role=“form”}))
{
//在这里,您将放置要发送到控制器方法的所有输入框和文本框
//“提交”按钮将模型数据发送到方法
}
显然,您发送的输入详细信息必须与方法参数中提供的模型类型匹配。除此之外,您还可以通过javascript中的ajax发送数据。这样做的好处是:
- 您不需要重新加载页面
- 可以重新加载局部视图
- 您可以返回数据并填充页面的各个区域