加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何将HTML5表单操作链接到ASP.NET MVC 4中的Con

发布时间:2020-12-15 23:44:13 所属栏目:asp.Net 来源:网络整理
导读:我有一个基本的表单,我想通过调用视图的关联Controller类中的ActionResult方法来处理窗体中的按钮.以下是以下格式的HTML5代码: h2Welcome/h2div h3Login/h3 form method="post" action= !-- what goes here -- Username: input type="text" name="username"
我有一个基本的表单,我想通过调用视图的关联Controller类中的ActionResult方法来处理窗体中的按钮.以下是以下格式的HTML5代码:
<h2>Welcome</h2>

<div>

    <h3>Login</h3>

    <form method="post" action= <!-- what goes here --> >
        Username: <input type="text" name="username" /> <br />
        Password: <input type="text" name="password" /> <br />
        <input type="submit" value="Login">
        <input type="submit" value="Create Account"/>
    </form>

</div>

<!-- more code ... -->

相应的控制器代码如下:

[HttpPost]
public ActionResult MyAction(string input,FormCollection collection)
{
    switch (input)
    {
        case "Login":
            // do some stuff...
            break;
        case "Create Account"
            // do some other stuff...
            break;
    }

    return View();
}

解决方法

你使用HTML助手并拥有
@using(Html.BeginForm())
    {
        Username: <input type="text" name="username" /> <br />
        Password: <input type="text" name="password" /> <br />
        <input type="submit" value="Login">
        <input type="submit" value="Create Account"/>
    }

或使用Url帮助器

<form method="post" action="@Url.Action("MyAction","MyController")" >

Html.BeginForm有几个(13)覆盖,您可以在其中指定更多信息,例如上传文件正在使用时的正常使用:

@using(Html.BeginForm("myaction","mycontroller",FormMethod.Post,new {enctype = "multipart/form-data"}))
{
    < ... >
}

如果不指定任何参数,Html.BeginForm()将创建一个指向当前控制器和当前操作的POST表单.举个例子,假设你有一个叫做帖子的控制器和一个叫做“删除”的动作

public ActionResult Delete(int id)
{
   var model = db.GetPostById(id);
   return View(model);
}

[HttpPost]
public ActionResult Delete(int id)
{
    var model = db.GetPostById(id);
    if(model != null) 
        db.DeletePost(id);

    return RedirectToView("Index");
}

你的html页面将是这样的:

<h2>Are you sure you want to delete?</h2>
<p>The Post named <strong>@Model.Title</strong> will be deleted.</p>

@using(Html.BeginForm())
{
    <input type="submit" class="btn btn-danger" value="Delete Post"/>
    <text>or</text>
    @Url.ActionLink("go to list","Index")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读