1

現在、設定ページから検索ボックスのあるページ ページにいくつかの構成設定を渡す必要がある Web アプリを作成しています。

現在、設定ページからホームページに構成データを次のように渡しています。

public ActionResult Settings(Configuration configuration)
{
    return RedirectToAction("ConfigSet", "Home", configuration);
}

そしてホームコントローラーで:

public ActionResult ConfigSet(Configuration configuration)
{            
    return View("Index");
}

私は部分的なビューを生成しています:

    public PartialViewResult Search(string q)
    {
        List<Stuff> results = this.Search(q);
        return PartialView("SearchResults", results);
    }

部分ビューが次のようにレンダリングされます。

@using (Ajax.BeginForm("Search", "Home", new AjaxOptions {
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
}))
{
    <input type="text" name="searchString" />
    <input type="submit" value="Search" />
}

私の質問は、構成設定を部分ビューに渡すにはどうすればよいですか? 私はこれについて数日間考えていて、本当に混乱しています。

4

2 に答える 2

2

このような構成設定を保存するviewModelを作成できます

public class MyViewModel
{
   public Configuration configuration {get;set;}
   public List<Stuff> results {get;set;} 
}

& アクションで MyViewModel を返す

public PartialViewResult Search(Configuration config)     
{
  var model = new  MyViewModel();
  //set its properties       
  model.results = this.Search(q);    
  model.configuration = configurationObject;     
  return PartialView("SearchResults", model);     
} 

もう一度構成をコントローラーに渡したい場合は、

@using (Ajax.BeginForm("Search", "Home", new { config = Model.configuration } new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "searchResults", })) 
{     
     <input type="text" name="searchString" />     
     <input type="submit" value="Search" /> 
} 
于 2012-04-23T11:48:35.367 に答える
0

サーバーの検索アクション メソッドで構成設定を取得するということですか? それをきれいに行うには、それらをクライアントに往復させる必要がありますが、これは非論理的で安全ではない可能性があります (構成の内容によって異なります)。または、検索アクション自体でそれらを再度取得する必要があります。

于 2012-04-23T11:49:00.813 に答える