从renderpage发送的访问数组

时间:2013-10-09 08:32:35

标签: c# asp.net razor

renderpage的语法是@Renderpage("mypage.cshtml", "a", "b") 其中“a”和“b”是传递给我认为的mypage.cshtml的数组。

但如何从mypage.cshtml页面访问变量a和b。

2 个答案:

答案 0 :(得分:0)

如果你引用WebPageBase.RenderPage方法,那么你传递一个这样的数据数组:

@{ var myObject = new MyObject() // <-- assume MyObject class declared contains properties a&b
      { 
         a = "a",
         b = "b"
      } 
}
<div>
   @RenderPage("mypage.cshtml", myObject)
</div>

然后在目标页面上使用

@model MyObject

并访问其属性:

<div>
   @Model.a 
   @Model.b
</div>

<强> [编辑] MyObject声明:

public class MyObject {
   public string a {  get; set; }
   public string b {  get; set; }
}

答案 1 :(得分:0)

假设a,b是一些类型字符串数组,那么下面的示例代码可以帮助你

List<string> cities =new List<string>{"London","NewYork"}
List<string> shops=new List<string>{"TESCO","Wallmart"}

假设此项目存储在ViewBag中

Shopping.cshtml

@model ShopList
{
@RenderPage("Info.cshtml", ViewBag.cities)
}

CityInfo.cshtml

@model List<string>

@foreach(string city in Model){
<div>
   @city
</div>
}