MVC真的很新,不知道我怎么会得到我的变量' UsersFullName'从类文件后面的代码到视图。使用aspx和aspx.cs,我会这样做:
index.aspx.cs:
using System.DirectoryServices.AccountManagement;
namespace TeamRequestForm.Controllers
{
public class AddTeamController : Controller
{
// GET: AddTeam
public ActionResult Index()
{
return View();
}
private string usersFullName = UserPrincipal.Current.DisplayName;
public string UsersFullName { get { return usersFullName; } }
}
}
的Index.aspx:
<input type="text" value="<%=UsersFullName%>" name="changeOriginator" id="changeOriginator">
我如何在视图中执行相同的操作?非常感谢提前。
答案 0 :(得分:1)
创建Model
:
public class UserModel
{
public string FullName { get; set; }
// Any other properties
}
并将其返回到您的观点:
public ActionResult Index()
{
var viewModel = new UserModel { FullName = // Logic for set };
return View(viewModel);
}
然后在您看来,在您的视图顶部声明:
@model namespace.UserModel
在输入中,您可以使用@model.FullName
或更好的方式来引用此模型:
@Html.EditorFor(model => model.FullName)
答案 1 :(得分:1)
Viewbag是一种方法。将其添加到您的模型是另一个。还有更多选择。看看这些文章
http://www.webdevelopmenthelp.net/2014/06/asp-net-mvc-pass-data-controller-view.html
答案 2 :(得分:0)
public ActionResult Index()
{
ViewBag.UsersFullName = UsersFullName;
return View();
}
查看
@Html.TextBoxFor(c => c.UsersFullName )
查看StackOverflow上的MVC文档
答案 3 :(得分:0)
您可以通过多种方式实现这一目标,但这些是最常用的方法:
1)使用ViewBag
toLocaleString
并在var number = 123.322
number = parseFloat(number).toFixed(2) //123.22
number.toLocaleString() //123.22
页面
public ActionResult Index()
{
private string usersFullName = UserPrincipal.Current.DisplayName;
ViewBag.userFullName=usersFullName;
return View();
}
如下所示:
ViewBag
2)使用ModelView
对于.cshtml
方法,您必须为类中的实体创建<span>@ViewBag.userFullName</span>
,如下所示:
ViewModel
并将此ViewModel用于您的Controller
Properties
并使用.cshtml页面,如下所示:
public class UserViewModel
{
public string userFullName{get; set;}
}
希望它会对你有所帮助。感谢