複雑なオブジェクトをパラメーターとして受け取るコントローラーアクションがあります。この複雑なオブジェクトのプロパティの1つによってOutputCacheを変更する必要があります。これは可能ですか?どのように?
質問する
2701 次
3 に答える
6
次のようなモデルがある場合
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)
}
そして、次のActionResult
ようなさまざまな署名を使用して、フォームをsavePersonに送信します
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();
}
于 2013-03-04T03:36:43.747 に答える