如果你只是渲染的部分只有部分名稱:
@Html.Partial("_SomePartial")
它實際上會通過你的模型作爲隱含參數,一樣的,如果你要撥打:
@Html.Partial("_SomePartial", Model)
現在,爲了您的偏好實際上能夠使用這個,但它也需要有一個定義的模型,例如:
@model Namespace.To.Your.Model
@Html.Action("MemberProfile", "Member", new { id = Model.Id })
或者,如果你處理的,這不是在您的視圖模型的值(它在ViewBag或視圖本身以某種方式生成的值,那麼你可以傳遞一個的ViewDataDictionary
@Html.Partial("_SomePartial", new ViewDataDictionary { { "id", someInteger } });
而且然後:
@Html.Action("MemberProfile", "Member", new { id = ViewData["id"] })
與模型,剃刀將隱含在默認情況下通過你的局部視圖的ViewData的,所以如果你在你看來有ViewBag.Id,那麼你可以參考你的部分同樣的事情。
請在下面找到
@{
ViewBag.Title = "Index";
string someValue ="abcd";
}
的示例代碼現在通過這樣的
<h2>Index</h2>
@Html.Partial("_MyPartial", someValue)
字符串值有在局部視圖消耗你的傳遞數據的方式沒有變化。就部分視圖而言,它正在接收可通過@Model訪問的數據。
Data received is : @Model
來源
2016-03-11 06:44:57
BSG
當我用這個我收到以下錯誤。 '在System.Core.dll中發生類型'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'的異常,但未在用戶代碼中處理' – Prasad