asp.net-mvc - ASP.Net MVC将多个参数传递给 View

标签 asp.net-mvc views partial-views

在ASP.Net MVC中,我想根据renderview查询字符串参数来渲染不同的局部 View 。

因此,为用户提供了选择按缩略图或按细节查看产品的便利。

我可以访问 Controller 中的选定参数,但是我不知道该怎么做,或者是否应该将其与产品列表一起传递给 View ,以便该 View 可以实现确定显示哪个局部 View 的逻辑?

public ActionResult Products(string id, int? renderview)
{
    var products = productRepository.GetProducts(id).ToList();
    return View("Products", products);
}



<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MLBWebRole.Models.Product>>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Products
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>Products</h2>

<p>This is the Products page</p>

<p><a href="?renderview=0">thumbnails</a>&nbsp;<a href="?renderview=1">details</a></p>


 <% if (renderview == 1)
     {%>
    <% Html.RenderPartial("ProductsDetailList"); %>
<% }
else
 { %>
<% Html.RenderPartial("ProductsThumbnailList"); %> 
  <% } %>

</asp:Content>

最佳答案

您的 View 应类似于:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Models.MyModel>" %>

然后在MyModel中

公开属性:
public bool RenderDetailView {get;set;}

在您的 Controller Action 中:
public ActionResult Products(string id, int? renderview)
{
    var products = productRepository.GetProducts(id).ToList();
    return View("Products", new MyModel {RenderDetailView = renderview.HasValue});
}

然后在您的 View 中进行检查,如下所示:
<% if (Model.RenderDetailView)

理想情况下, View 需要呈现的所有属性,参数或数据都应该是模型的一部分。

希望对您有所帮助。

关于asp.net-mvc - ASP.Net MVC将多个参数传递给 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199440/

相关文章:

javascript - 我如何在页面加载本身的依赖下拉列表中加载默认国家、州和城市?

android - 如何以编程方式更改主题颜色 : style, 属性 android?

asp.net-mvc - ASP.NET MVC部分 View 变慢?

ruby-on-rails - 仅在列为真时渲染部分项目

c# - GenericRepository 模式更新方法

c# - jQuery 无限滚动和 Gridview

android - 是否可以在android中将一个 View 放在另一个 View 上?

html - Rails 缺少模板错误

asp.net-mvc - 是否可以创建一个独立的局部 View "widget"?

html - 设置 DropDownListFor 的字体大小