如何将代码添加到MVC cshtml文件视图中

时间:2016-10-20 10:13:53

标签: c# asp.net-mvc

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

我如何在视图中执行相同的操作?非常感谢提前。

4 个答案:

答案 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)

答案 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;}
} 

希望它会对你有所帮助。感谢