私の現在の Web アプリでは、ユーザーが自然言語解析の設定の一部を変更できるようにしたいと考えています。
ただし、これらの設定を渡す方法については混乱しています。ユーザーはホームページから設定ページに移動し、フォームを送信すると、ユーザーはホームページに戻って楽しく検索できます。
関連するコードは次のとおりです。
public ActionResult Settings(Configuration configuration)
{
TempData["configStructure"] = configurationStructure;
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);
}
部分ビューが次のようにレンダリングされます。
@model MyApp.MySettings.ConfigurationApi
@if (Model == null)
{
using (Ajax.BeginForm("Search", "Home", new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
}))
{
<input type="text" name="q" />
<input type="submit" value="Search" />
}
}
else
{
using (Ajax.BeginForm("Search", "Home", new { configuration = Model }, new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
}))
{
<input type="hidden" name="configuration" />
<input type="text" name="searchString" />
<input type="submit" value="Search" />
}
}
基本的に、これらの値を設定ページからホームページに渡し、設定をそのユーザーに結び付ける方法について混乱しています。