MVC查看控制器传递

时间:2012-09-27 09:45:48

标签: c# .net asp.net-mvc asp.net-mvc-3 razor

我正在启动mvc并设计一个简单的登录程序。 我有登录界面的视图,有两个输入用户名和密码。 但显然无法得到如何将视图中的输入值传递给控制器 我正在使用剃须刀。这是我的片段。

<table>
    <tr>
        <td>
            UserName:
        </td>
        <td>
            @Html.TextBox("userName")
        </td>
    </tr>
        <tr>
        <td>
            Password
        </td>
        <td>
            @Html.Password("Password")
        </td>
    </tr>
    <tr>
        <td colspan="2">
            @Html.ActionLink("login", "SignIn")
        </td>
    </tr>
</table>

我的控制器看起来像这样。(我可以使用动作链接重定向到控制器就好了。只是传递值。)

public ActionResult SignIn()
{
    //string userName = Request["userName"];
    return View("Home");
}

3 个答案:

答案 0 :(得分:2)

您可以在表单容器中包含上面的html内容,并将表单提交方法声明为POST

@using (Html.BeginForm("SignIn", "Controller", FormMethod.Post, new { id = "form1" }))
{
    <table>
    <tr>
        <td>
            UserName:
        </td>
        <td>
            @Html.TextBox("userName")
        </td>
    </tr>
        <tr>
        <td>
            Password
        </td>
        <td>
            @Html.Password("Password")
        </td>
    </tr>
    <tr>
        <td colspan="2">
            <input type="submit" value="login" name="login" />
        </td>
    </tr>
</table>
}

然后,您可以将Post Action放入控制器中:

[HttpPost]
public ActionResult SignIn(FormCollection frmc)
{
    /// Extracting the value from FormCollection
    string name = frmc["userName"];
    string pwd = frmc["Password"];
    return View("Home");
}

答案 1 :(得分:0)

以表格形式包裹你的表格:

    @using (Html.BeginForm("SignIn", "controllerName", FormMethod.POST))
{
<table>
...
</table>
<input type="submit" value="Sign in" />
}

在控制器中写道:

[HttpPost]
public ActionResult SignIn(string userName, string Password)
{
 //sign in and redirect to home page
}

答案 2 :(得分:0)

查看:

@using (Html.BeginForm("SignIn", "Controller", FormMethod.Post, new { id = "form1" }))
{
<table>
<tr>
    <td>
        UserName:
    </td>
    <td>
        @Html.TextBox("userName")
    </td>
</tr>
    <tr>
    <td>
        Password
    </td>
    <td>
        @Html.Password("Password")
    </td>
</tr>
<tr>
    <td colspan="2">
        <input type="submit" value="login" name="login" />
    </td>
</tr>
</table>
}

型号:

public string userName{get;set;}
public string Password{get;set;}

控制器:

[HttpPost]
 public ActionResult SignIn(Model obj)
 {
  //sign in and redirect to home page
   string userName = obj.username;
   string password = obj.password;
 }

对你来说可能会有所帮助。