嘿伙计们,我是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>
答案 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"];
}