在cshtml中激活IsPost时的不同调用

时间:2013-02-27 18:42:50

标签: c# html forms razor

如何在cshtml中调用不同的回发?

@{
    Page.Title = "";
    Layout = "~/_Layout.cshtml";

    if(IsPost)
    {
        // if btn1 is pressed do this

        // if btn2 is pressed do this
    }
}

<div>
    <form action="" method="post">
        <input type="submit" value="btn1" />
    </form>

    <form action="" method="post">
        <input type="submit" value="btn2" />
    </form>
</div>

有没有办法告诉哪一个被按下了?

1 个答案:

答案 0 :(得分:7)

您需要为按钮提供“名称”属性,以便将它们作为提交表单的一部分进行注册,并使用值来确定提交的按钮。

@{
    if ( IsPost ) {
       switch ( Request.Form[ "btn" ] ) {
          case "btn1":
              <h2>It was btn1</h2>
              break;
        case "btn2":
              <h2>It was btn2</h2>
              break;
      }
   }
}
<div>
    <form method="post">
        <input type="submit" name="btn" value="btn1" />

        <input type="submit" name="btn" value="btn2" />
    </form>
</div>