如何在MVC 4中触发按钮单击
我是MVC的新手,我正在为我的应用创建一个注册表单,但我的按钮点击不正常工作当前代码未在下面给出
视图
模型
public class Account { public string Username { get; set; } public string Email { get; set; } public string Password { get; set; } }
控制器(未完全完成)
public class AccountController : Controller { // // GET: /Account/ public ActionResult Index() { return View(); } // GET: /Account/SignUp public ActionResult SignUp() { return View(); } [HttpPost] public ActionResult SignUp(string userName,string email,string password) { Account createAccount = new Account(); createAccount.Username = userName; createAccount.Email = email; createAccount.Password = password; return View("Index"); } }
如何定义点击事件在这里我尝试了httppost,但它不起作用我知道我的代码不正确请指出这里的错误是什么
ASP.NET MVC不适用于ASP经典之类的事件; 没有“按钮点击事件”。 您的控制器方法对应于发送到服务器的请求。
相反,您需要在代码中包装该表单,如下所示:
@using (Html.BeginForm("SignUp", "Account", FormMethod.Post)) { }
这将设置一个表单,然后您的提交输入将触发POST,这将触发您的SignUp()
方法,假设您的路由已正确设置(默认值应该有效)。
根据@anaximander的回答,你的注册动作看起来应该更像
[HttpPost] public ActionResult SignUp(Account account) { if(ModelState.IsValid){ //do something with account return RedirectToAction("Index"); } return View("SignUp"); }
你可以尝试这个代码
@using (Html.BeginForm("SignUp", "Account", FormMethod.Post)){}
MVC不做事件。 只需在页面上放置一个表单并提交按钮,使用HttpPost属性修饰的方法就会处理该请求。
您可能希望阅读有关如何创建视图,表单和控制器的教程。
- 如何动态更改上传文件夹
- 仅具有表单ID的Html.BeginForm()未生成正确的操作URL
- ASP.NET MVC 4 FileResult – 出错
- 何时在MVC中使用哪种类型的成员资格的一般规则
- 使用PDFSharp将图像叠加到PDF上
- 如果我希望使用ASP.NET MVC4创建ApiKey受限资源,我应该使用IAuthorizationFilter吗?
- 无法使用linq lambda表达式转换’System.Data.Entity.Infrastructure.DbQuery`1 ‘类型的对象
- 仅在safari浏览器中ASP.net MVC中的IFrame中的会话为null
- 在asp.net mvc 4 razor中访问Custom Html Helpers中的属性