Asp.net MVC将视图中的输入值传递给控制器

时间:2014-07-17 13:51:54

标签: asp.net-mvc

我从未使用过asp.net和mvc。

我需要创建简单的注册表单,但我无法将值从输入传递给控制器​​。我没有使用模型,如果我只是从视图到控制器获取值,我的控制器中会有服务器端功能,它将向数据库添加输入。

我搜索了很多,但总是有使用剃须刀和html.beginform等的答案,我没有任何一个。

以下是我的观点:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Main.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<table width="100%">
<tbody>
    <tr>
        <td valign="top" style="width:300px">
            <fieldset>
                <legend><b>Registration</b></legend>
                <table class="submit">
                    <tr>
                        <td>Customer Code:</td>
                        <td style="width: 50%">                                
                            <%: Html.TextBox("cbCode")%>
                        </td>
                    </tr>
                    <tr>
                        <td>Card No:</td>
                        <td>
                            <%: Html.TextBox("cardNo")%>
                        </td>
                    </tr>
                    <tr>
                        <td>E-Code:</td>
                        <td>
                            <%: Html.TextBox("pswrd")%>
                        </td>
                    </tr>
                    <tr>
                        <td>E-Token:</td>
                        <td>
                            <%: Html.TextBox("tokenId")%>
                        </td>
                    </tr>                        
                    <tr>
                        <td>
                            <button type="submit" onclick="tokenSubmit('POST');" class="btn">
                                Submit</button>
                        </td>
                    </tr>
                </table>
            </fieldset>                
                <legend><b>Result</b></legend>
                <div id="Result">
                </div>
            </fieldset>
        </td>
    </tr>
</tbody>
</table>
</asp:Content>

我的控制器:

namespace Branch.Controllers
{
public class CardEcodeController : Controller
{
    //
    // GET: /CardEcode/

    public ActionResult Index()
    {            

        long cbCode = value from input;
        long cardNo = value from input;
        long tokenId = value from input;
        long pswrd = value from input;

        //using functions written in server side
        RegisterClient reg = new RegisterClient();
        reg.InsertToken(cbCode,cardNo,tokenId,pswrd);           


        return View();
    }       

}

}

我认为我的MVC版本是2或3。

1 个答案:

答案 0 :(得分:0)

我强烈建议您阅读使用MVC的信息。您使用的版本最有可能是MVC2。如果可以,我可以在MVC3或MVC4中使用Razor语法进行项目。你问题的快速答案就是这个。

<%using (Html.BeginForm("Index", "CardEcode", FormMethod.Post)){%>
    <table width="100%">
       <!-- table code here -->
    </table>
<% } %>

对于您的控制器,您必须进行后期操作。

public ActionResult Index()
{            
     return View();
} 

[HttpPost]
public ActionResult Index(long cbCode, long cardNo, long tokenId, long pswrd)
{            
      //using functions written in server side
      RegisterClient reg = new RegisterClient();
      reg.InsertToken(cbCode,cardNo,tokenId,pswrd);           


      return View();
}