我有一个场景,我正在寻找解决方案。
我有两个与项目A和项目B 相关联的.cshtml页面 abc.cshtml和xyz.cshtml 。
现在,Page abc有一个文本框和按钮,它使用FormMethod.Post将文本值传递给Action,如下所示。当我请求 域名/ A
时,它会显示查看
@using (Html.BeginForm("Login", "Account", FormMethod.Post)
{
@Html.TextBoxfor()
}
控制器
public ActionResult About(LoginModel model)
{
List<Car> result = new List<Car>();
result = service.GetResult(model.textboxvalue); //Here i am passing textbox value to method which returns list.
return View();
// Now i want to display values in result List on xyz.cshtml i.e. on http://domain/B
// So how can i pass whole model (which consist of other property as well including list) to another Sitecore Item i.e. Item B
}
要点:
我已经提到以下链接:
https://mhwelander.net/2014/05/22/passing-data-between-actions-in-sitecore-mvc/
表示就像在常规的ASP.NET MVC中一样,你不能在动作之间传递复杂的类型 - 比如完整的模型。并且它似乎是正确的,因为Sitecore MVC执行管道与ASP.NET MVC不同。此外,我已经尝试但没有运气。
有人可以帮我吗?
答案 0 :(得分:0)
听起来我觉得你不想把你的模型传递给另一个动作,你想把它还给它以显示在视图上吗?
你能不能只使用你的模特回到你想要的视图?
return View("xyz", model);
答案 1 :(得分:0)
您还可以在表单中添加隐藏字段,并在用户POST表单时填充您的属性:
@using (Html.BeginForm("Login", "Account", FormMethod.Post)
{
@Html.HiddenFor(m => m.SomeProperty)
@Html.TextBoxfor()
}