我希望在一个视图中有2个模型.该页面包含LoginViewModel和RegisterViewModel.
例如
public class LoginViewModel
{
public string Email { get; set; }
public string Password { get; set; }
}
public class RegisterViewModel
{
public string Name { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我是否需要创建另一个包含这两个ViewModel的ViewModel?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我需要将验证属性提交给视图,这就是我需要ViewModel的原因.
是不是有另一种方式,如(没有BigViewModel):
@model ViewModel.RegisterViewModel
@using (Html.BeginForm("Login", "Auth", FormMethod.Post))
{
@Html.TextBoxFor(model => model.Name)
@Html.TextBoxFor(model …Run Code Online (Sandbox Code Playgroud) 如何为部分视图创建单独的控制器和模型?我希望能够将这个局部视图放在网站的任何位置,这样它就需要它自己的控制器.我当前正在渲染部分
@Html.Partial("_Testimonials")
Run Code Online (Sandbox Code Playgroud) 我试图理解RenderPartial和RenderAction之间的区别.我猜RenderPartial就像UserControl,而RenderAction就像服务器端包含.有人可以提出这个问题吗?如果可能的话,请给我一些关于每个用途的情景?
我有一个PartialViewResult操作,它呈现我从页面上的$ .ajax调用调用的PartialView.
PartialView还有一个用于VM中项目的foreach循环,在该PartialView中我有两个渲染另外两个Partial的RenderAction.
一切正常,除了它渲染的速度.当我注释掉两个嵌套的RenderAction时,主要的局部视图渲染速度非常快.当我取消注释它们时,主要局部视图呈现3到5秒.即使我从部分视图中删除所有数据并且从操作中删除所有数据只返回空视图,它仍然需要3-5秒.
不知何故,我的应用程序在呈现这两个部分时遇到问题,即使它们是空的.
我的代码:主要行动:
public PartialViewResult MyTasks(int milestoneId, int currentPage = 1)
{
var mergedTasks = new List<MergedTask>();
var TrackingTeams = _TrackingTeams.GetAll().ToList();
var pagingInfo = new PagingInfo() {CurrentPage = currentPage, ItemsPerPage = 10, TotalItems = _TrackingTeams.GetAll().Count() };
mergedTasks.AddRange(from TrackingTeam in TrackingTeams
let task = allTasks.Single(x=>x.TestId == (int)TrackingTeam.TrackingTask.TestId)
select new MergedTask()
{
Summary = TrackingTeam.TrackingTask.Description,
InternalId = task.Id,
DevTrackingTask = TrackingTeam.TrackingTask,
LastUpdate = task.DateModified
});
return PartialView(new DevTrackingTaskViewModel
{
MergedTasks = mergedTasks,
Category = _categories.GetById(categoryId),
PagingInfo = pagingInfo
}); …Run Code Online (Sandbox Code Playgroud) 我想知道如何在运行剃刀视图中包含另一个剃刀页面,就像PHP的"包含"术语一样.它可以被视为部分类.一半的工作是在a.cshtml完成的,另一半的工作是在b.cshtml完成的.但实际上其中两个是作为一个剃刀页面构建的.
任何想法将不胜感激......
我有以下部分视图,名为_Categories驻留在〜/ Views/Category/_Categories中:
@model IEnumerable<MyBlogSite.Models.BlogPostCategory>
<ul>
@foreach (var item in Model)
{
<li>@Html.DisplayFor(modelItem => item.Name)</li>
}
</ul>
Run Code Online (Sandbox Code Playgroud)
我在〜/ Views/Blog/Index.cshtml上有以下索引视图:
@model IEnumerable<MyBlogSite.Models.BlogPost>
@{
ViewBag.Title = "Index";
}
@Html.RenderPartial("~/Views/Category/_Categories.cshtml", ---- );
<p>
@Html.ActionLink("New Blog Post", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
...
Run Code Online (Sandbox Code Playgroud)
在破折号(----)的空间中,我一直试图弄清楚如何传递模型.我不能使用Model.BlogPostCategory,因为它只接受Model.BlogPost.根据我在这里看到的一些帖子,我也尝试过使用小写"m"的"模型".