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

本文关键字:取文本 获取 MVC | 更新日期: 2023-09-27 18:06:26

大家好,我是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

My View page

@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>

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

您的视图声明了一个模型,我假设该模型具有用户名和密码作为属性。您应该创建绑定到模型属性的控件,然后在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

然后在视图中执行此操作。这是Razor语法的c#风格,我从来没有做过vbhtml,所以我不知道VB。净味。

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

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

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