【发布时间】:2019-09-23 07:56:28
【问题描述】:
我正在制作一个银行网络应用程序。我有一个 BankView,可以在其中将新用户添加到表中。我可以通过打开 AddUserView 并将数据从 TextBoxes 传输到控制器,然后使用模型将此信息传递回 BankView 来做到这一点。现在在银行视图中,每个用户名旁边都有一个 ViewUser 按钮,允许您通过将您转移到强类型 ViewUser 视图来查看用户。我的问题是如何从表中获取特定用户并将此数据传输到控制器,以便我可以转到 ViewUser 视图并查看有关用户的更多信息,即帐户信息
我尝试了许多来自互联网的“解决方案”,例如,我尝试使用 ViewModel 将数据从 BankView 传输到 ViewUser 视图,但在所有示例中,都使用了文本框,但我尝试使用段落而不是文本框,因为我不希望用户能够从 BankView 更改有关用户的信息
这是我的银行主管
public class BankController : Controller
{
//Global Variables
public static List<UserViewModel> Users = new List<UserViewModel>();
public static VaultViewModel VaultData = new VaultViewModel();
public static BankViewModel BankData = new BankViewModel("Absa" , Users , VaultData);
// GET: Bank
public ActionResult Index()
{
return View();
}
public ActionResult Bank()
{
VaultData.Amount = 3500000;
BankData.lsUsers = GenerateTestDataUsers();
return View(BankData);
}
public ActionResult AddUser()
{
return View();
}
[HttpPost]
public ActionResult AddUser(string Name , string Surname)
{
UserViewModel NewUser = new UserViewModel(Name, Surname);
BankData.lsUsers.Add(NewUser);
return View("Bank", new BankViewModel("Absa", BankData.lsUsers, VaultData));
}
[HttpPost]
public ActionResult ViewUser(UserViewModel User)
{
string UserName = User.UserName;
string UserSurname = User.UserSurname;
return View(User);
}
//Methods
private List<UserViewModel> GenerateTestDataUsers()
{
UserViewModel User1 = new UserViewModel("Shanah", "Suping");
UserViewModel User2 = new UserViewModel("Jackson", "Parker");
UserViewModel User3 = new UserViewModel("Jacqueline", "Rover");
UserViewModel User4 = new UserViewModel("Cho", "Chan");
UserViewModel User5 = new UserViewModel("Rendani", "Rambuda");
Users.Add(User1);
Users.Add(User2);
Users.Add(User3);
Users.Add(User4);
Users.Add(User5);
return (Users);
}
}
这是我的银行视图
<div id="BankInfo">
<h1>@Model.BankName</h1>
<h2>Vault Total: R @Model.Vault.Amount</h2>
<table>
<tr>
<th colspan="4" id="HeadUser">Users <span>@Html.ActionLink("+", "AddUser", "Bank")</span> </th>
</tr>
<tr>
<th>UserID</th>
<th>Name</th>
<th>Surname</th>
<th></th>
</tr>
@foreach (var User in Model.lsUsers)
{
<tr>
<td>@User.UserID</td>
<td>@User.UserName</td>
<td>@User.UserSurname</td>
<td>
@Html.BeginForm("ViewUser", "Bank", FormMethod.Post)
{
<input type="submit" value="View" id="ViewUser" name="ViewUser" />
}
</td>
</tr>
}
</table>
</div>
只是最后的澄清。我正在尝试让特定用户访问 BankController,以便我可以在 ViewUserView 中查看该用户信息。
我希望能够从 BankView 获取特定用户并将该用户转移到 ViewUser 视图。但实际发生的一切都没有。
【问题讨论】:
标签: c# asp.net visual-studio razor model-view-controller