如何从umbraco mvc中的表面控制器添加查询字符串以保持模型值

时间:2014-01-15 09:19:22

标签: asp.net-mvc umbraco umbraco6

如何在umbraco mvc中添加表面控制器的查询字符串。这是我目前的代码。

最初我写了一个像

这样的代码
public ActionResult Registration(RegisterModel model)
{ 
  //Code to insert register details
  ViewBag.Success="Registered Successfully"
  return CurrentUmbracoPage();
}

有了这个,我可以成功保存我的ViewBag和模型属性值,但是我无法用它添加查询字符串。

对于某些要求,我必须更改返回带有查询字符串的网址的代码。 我在下面做了

public ActionResult Registration(RegisterModel model)
{ 
    //Code to insert register details
    ViewBag.Success="Registered Successfully"
    pageToRedirect = AppendQueryString("success");
    return new RedirectResult(pageToRedirect);
}
public string AppendQueryString(string queryparam)
{
    var pageToRedirect = new DynamicNode(Node.getCurrentNodeId()).Url;
    pageToRedirect += "?reg=" + queryparam;
    return pageToRedirect;
}

并且使用此模型中的属性值无法持久存在,并且ViewBag返回null值。

任何人都可以建议我如何通过在模型和ViewBag中保存值来添加查询字符串。

1 个答案:

答案 0 :(得分:1)

ViewBag中的数据在重定向时将无法在View上使用。因此,您必须在TempData中添加消息,该消息将在重定向后的视图中显示,如TempData.Add("CustomMessage", "message");