Asp.net-Mvc-3
OutputCache 因複雜對象屬性而異
我有一個控制器操作,它接收一個複雜對像作為參數,我需要 OutputCache 隨這個複雜對象的屬性之一而變化。這可能嗎?如何?
如果你有一個像
public class person{ public string Name {get;set;} public string location {get;set;} }在(強類型)視圖中,您有一個表格
@model Person @Html.BeginForm(){ @Html.TextBoxFor(x=>x.Name) @Html.TextBoxFor(x=>x.location) }然後您將表單送出給
ActionResultsavePerson,並帶有不同的簽名,例如public ActionResult savePerson(Person p){ // p.Name // p.location }或者
public ActionResult savePerson(string Name, string location){ }因此我認為如果你像這樣註釋 ActionResult
[OutputCache(Duration=3600, VaryByParam="Name")] public ActionResult savePerson(Person p) { // return View(); }它會為你做的,或者如果你有一個複雜的模型,比如
public class person{ public string Name {get;set;} public Location loc {get;set;} } public class Location{ public string address }嘗試
[OutputCache(Duration=3600, VaryByParam="Person.Location.address")] public ActionResult savePerson(Person p) { // return View(); }