相关疑难解决方法(0)

视图中的多个模型

我希望在一个视图中有2个模型.该页面包含LoginViewModelRegisterViewModel.

例如

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)

asp.net-mvc asp.net-mvc-3

293
推荐指数
7
解决办法
39万
查看次数

在ASP.NET MVC中为部分视图创建控制器

如何为部分视图创建单独的控制器和模型?我希望能够将这个局部视图放在网站的任何位置,这样它就需要它自己的控制器.我当前正在渲染部分

@Html.Partial("_Testimonials")
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc partial-views

60
推荐指数
3
解决办法
10万
查看次数

ASP.NET MVC 2.0 - RenderPartial和RenderAction之间的区别

我试图理解RenderPartial和RenderAction之间的区别.我猜RenderPartial就像UserControl,而RenderAction就像服务器端包含.有人可以提出这个问题吗?如果可能的话,请给我一些关于每个用途的情景?

asp.net asp.net-mvc asp.net-mvc-2

11
推荐指数
1
解决办法
6376
查看次数

嵌套的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)

asp.net-mvc performance partial-views

7
推荐指数
1
解决办法
1861
查看次数

如何将剃刀页面包含在另一个剃刀页面中?

我想知道如何在运行剃刀视图中包含另一个剃刀页面,就像PHP的"包含"术语一样.它可以被视为部分类.一半的工作是在a.cshtml完成的,另一半的工作是在b.cshtml完成的.但实际上其中两个是作为一个剃刀页面构建的.

任何想法将不胜感激......

c# razor asp.net-mvc-3

7
推荐指数
1
解决办法
9680
查看次数

如何从不同的模型/控制器渲染局部视图?

我有以下部分视图,名为_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"的"模型".

partial-views asp.net-mvc-4

2
推荐指数
1
解决办法
5815
查看次数