在我当前的网络应用程序中,我希望允许用户修改一些自然语言解析设置的设置。
但是,我对如何传递这些设置感到困惑——用户将从主页转到设置页面,并在提交表单时将用户带回主页,在那里他们可以愉快地搜索。
相关代码为:
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" />
}
}
基本上,我对如何将这些值从设置页面传递到主页并将设置绑定到该用户感到困惑。