如何轻松获取MVC中文本框的值

时间:2014-06-03 22:10:52

标签: c# html asp.net asp.net-mvc vb.net

嘿伙计们,我是Stackoverflow的新手,也是MVC的新手 我正在使用vb,但c#也可能有所帮助 我想从我创建的登录表单中获取用户名  我知道我的代码不起作用,但出于演示目的,我输入了它。 如何在控制器中获取UserName文本框值。

我的控制器

Sub Login()
    Dim rvdDB As New RVDDataClassesDataContext
    Dim Employees = From Employee In rvdDB.Employees Where Employee.EmpID = TUserName
End Sub

我的观看页面

@ModelType RVDLoginMVC.Login
@Code
    ViewData("Title") = "Login"
End Code

<div id="MainLogin" style="text-align:center">
    <img src="~/Models/rvd_logo.jpg" alt="Rogue Valley Door" />
    <p>Username: <input id="TUserName" name="TUserName" type="text" /></p>
    <p>Password: <input id="TPassword" name="TPassword" type="password" /></p>
    <input type="button" value="Login" onclick="location.href='@Url.Action("Login", "Login")'" />
</div>

2 个答案:

答案 0 :(得分:1)

您的视图声明了一个我假设用户名和密码作为属性的模型。您应该创建绑定到模型属性的控件,然后在Login()方法中获取模型的实例。

我的VB.NET非常生疏,所以你可能不得不玩这个。

Sub Login(viewModel as RVDLoginMVC.Login)
    Dim rvdDB As New RVDDataClassesDataContext
    Dim Employees = From Employee In rvdDB.Employees Where Employee.EmpID = viewModel.Username
End Sub

然后在View中执行此操作。这是Razor语法的C#风格,我从来没有做过vbhtml,所以我不知道VB.NET的风格。

<p>Username: @Html.TextBoxFor( model => model.Username )</p>
<p>Password: @Html.PasswordFor( model => model.Password )</p>

答案 1 :(得分:0)

您可以通过传入Controller FormCollection参数来访问文本框值,如下所示。

public ActionResult Login(FormCollection _frmCollection)
{
  string _userName=_frmCollection["TUserName"];
}