标签: partialviews

如何在ASP.NET MVC局部视图中使用匿名列表作为模型?

我有一个Contact对象列表,我只想要一个属性的子集.所以我使用LINQ投影来创建一个匿名列表,然后将其传递给局部视图.但是当我在局部视图中使用该列表时,编译器说它没有那些属性.我尝试了最简单的情况如下,但我仍然没有机会在局部视图中使用匿名对象或列表.

var model = new { FirstName = "Saeed", LastName = "Neamati" };
return PartialView(model);
Run Code Online (Sandbox Code Playgroud)

在局部视图中,我有:

<h1>Your name is @Model.FirstName @Model.LastName<h1>
Run Code Online (Sandbox Code Playgroud)

但它说@Model没有FirstName和LastName属性.这有什么不对?当我使用@Model时,此字符串将在浏览器中呈现:

 { Title = "Saeed" }
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc anonymous-types viewmodel partialviews asp.net-mvc-3

10
推荐指数
1
解决办法
5366
查看次数

如何用另一个替换局部视图?

我想显示"最新新闻"文章列表,并点击"阅读更多"链接,以显示所点击文章的完整内容.为此,我在Index.cshtml视图中使用局部视图.第一次显示"索引"视图时,将使用文章列表填充局部视图.我想要的是:重复使用相同的局部视图来显示完整的文章,点击.

出于某种原因,我无法做到这一点,我不明白为什么.使用调试器和Firebug,我可以捕获没有错误.此外,应用程序遍历所有步骤,甚至似乎显示_Details局部视图,但实际上,在屏幕上仍然是列表.

谢谢你指出我的错误.

编辑:

我在_Layout.cshtml中引用了所有必需的脚本:jquery-1.8.2.min.js,jquery-ui-1.8.24.custom.min.js,jquery.ui.core.min.js,jquery.validate. min.js,jquery.validate.unobtrusive.min.jsjquery.unobtrusive-ajax.js以及web.config中的"UnobtrusiveJavaScriptEnabled"="true".

Index.cshtml

@model MyApp.ViewModels.NewsViewModel

<div id="content" class="content_style"> 
   <text>Some static content</text>
   <div class="active_part">
        @Html.Partial("_List", Model.NewsList)
   </div><!-- end active_part -->
</div><!-- end content -->
Run Code Online (Sandbox Code Playgroud)

_List.cshtml

@model IEnumerable<MyApp.Models.News>
@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "active_part", InsertionMode = InsertionMode.Replace }))
{
    foreach (var item in Model)
    {
    <h2 class='title">
    @Ajax.ActionLink(item.Title, "Details", "News", new { id = item.News_ID }, new AjaxOptions { UpdateTargetId = "active_part" }, null)
        </h2>

        <div class="body">
            @Html.Raw(item.Body)
            @Ajax.ActionLink("Read more", "Details", …
Run Code Online (Sandbox Code Playgroud)

partialviews asp.net-mvc-3

5
推荐指数
1
解决办法
5663
查看次数

在MVC中渲染局部视图

我正在使用MVC Structure.我必须创建一个可以通过下拉过滤的报告.我是使用局部视图来显示报告的事情.HEre是我想要实现的页面的结构.在页面顶部,会有一些下拉列表.以下是报告页面.

当用户从下拉列表中更改选项时,将过滤报告.

我有两个问题1.如何渲染部分页面.2.如何通过ajax/jquery刷新部分页面.我想在客户端这样做.

我在网上查了一下,我正在渲染页面,如下面的VIEW代码所示

<h3>Report</h3>
<div>
    <table>
        <tr>
            <td>ServiceLine</td>
            <td>@Html.DropDownList("ServiceLine", null, new {id="ServiceLine"}) </td>
        </tr>
    </table>
</div>
<div>
    <h2>List</h2>
    <div>
        @Html.Partial("PartialView")
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这就是我在控制器中得到的

public ActionResult PortfolioReport(char serviceLine)
{
    //Department List

     var serviceLines = Enum.GetValues(typeof(SogetiDepartments)).Cast<SogetiDepartments>().Select(v => new SelectListItem
    {
        Text = v.ToString(),
        Value = ((char)v).ToString(),
    });

     foreach (SelectListItem item in serviceLines)
     {
         if (Convert.ToChar(item.Value) == serviceLine)
             item.Selected = true;
     }


     ViewBag.ServiceLine = serviceLines;

    return View();
}
Run Code Online (Sandbox Code Playgroud)

任何形式的帮助表示赞赏.

asp.net-mvc partial-views partialviews

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