Я новичок в .net, я использую MVC5, я проверил пример .net, где люди делают представление типа Strongly, чтобы передать данные из контроллера для просмотра. Для этого у вас должна быть модель, в которой будут установлены эти параметры, а затем вы сможете передать данные.
Предположим, моя модель пользователя
namespace Mvc5Application.Models{
using System;
using System.Collections.Generic;
public partial class User
{
public System.Guid UserID { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public Nullable<System.Guid> OrgID { get; set; }
public virtual Organization Organization { get; set; }
}
}
Теперь мой контроллер Home и на странице индекса есть страница входа
Если вы пойдете по традиционному пути, то ваш контроллер будет выглядеть как
[AllowAnonymous]
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
[HttpPost]
public ActionResult Index(User model)
{
...[code for verification ]...
return View(model);
}
И соответствующий вид будет
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.username)
</td>
<td>
@Html.DisplayFor(modelItem => item.password)
</td>
</tr>
}
Но если вы думаете сделать какую-то настройку, например, если вы не хотите следовать этой традиционной модели и хотите опубликовать что-либо со страницы просмотра, получить это в контроллере и после выполнения какой-либо операции, если у вас есть набор данные, и вы хотите передать данные, чтобы просмотреть и показать их в другом месте, то вы должны использовать ViewBag или ViewData
Тогда контроллер будет
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
[HttpPost]
public ActionResult Index(FormCollection form)
{
String Username = form["Username"].ToString();
String Password = form["Password"].ToString();
Dictionary<string, string> MyList = new Dictionary<String, String>();
MyList.Add("name",Username);
MyList.Add("pass",Password);
ViewData["user"] = MyList;
return View();
}
И вид будет
@{
ViewBag.Title = "Home Page";
var list = ViewData["user"] as Dictionary<String, String>;
}
<h2>@ViewBag.Message</h2>
<div>
@if (list != null)
{
@Html.Label("User:-") @list["name"]
<br />@Html.Label("password:-") @list["pass"]
}
</div>
<p>
Please ligin / Register from here</p>
@using (Html.BeginForm("Home"))
{
<table>
<tr>
<td>User Name</td>
<td>@Html.TextBox("Username", ViewBag.CurrentFilter as string)</td>
</tr>
<tr>
<td>Password</td>
<td>@Html.TextBox("Password", ViewBag.CurrentFilter as string)</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Save" class="btn btn-default" /></td>
</tr>
</table>
}