在Viewbag中逐个添加参数值mvc c#razor

时间:2016-07-14 08:54:23

标签: c# asp.net-mvc asp.net-mvc-4 razor

我使用html actionlink将类名作为参数从视图传递给控制器​​,并将这些值存储在ViewBag中。我希望每次从视图页面发布时都要在ViewBag中添加所有参数值。现在我只获取当前的发布参数值,而不是以前的值。或者我可以通过其他任何方式实现这一目标。

由于

更新 -

模型类 -

public string Link_id { get; set; }
public string Link_class { get; set; }

控制器 -

public ActionResult R_Class(r_item Link_id, r_item Link_class)
        {            
            Show_Page();

            ModelState.Clear(); 

            return View(new r_item());
        }

Private Void Show_Page()
{
    r_item r_class = new r_item ();
    r_class.Link_class = Request.Form["Link_class"];
}

查看页面 -

using (Html.BeginForm())
{                    
 @Html.HiddenFor(model => model.Link_class)

 @Html.ActionLink(Model.Link_class, "R_Class", "R_Class", null,
new { Link_class = @row[2], @class = "Click_Link", onclick = "return false;" })

2 个答案:

答案 0 :(得分:0)

好吧,我想我已经明白了,

在您的第一个帖子中,您将获得行动中的值

对于下一个帖子,将值重新发送回view来查看 ViewBag.Msg = YourValue;


并将其存储在隐藏的字段中


然后第二个视图或页面将具有此先前的数据 使用新操作参数

中的数据附加隐藏字段中的值


可能需要进行一些修改,以及携带数据等的表单

答案 1 :(得分:0)

  public ActionResult R_Class(r_item Link_id, r_item Link_class,hidden_value)
    {            
        Show_Page();

        ModelState.Clear(); 
        ViewBag.Msg = Link_id + hidden_value;

        return View(new r_item());
    }



using (Html.BeginForm())
{         
<input type="hidden" value="@ViewBag.Msg" name="hidden_value">



  @Html.HiddenFor(model => model.Link_class)



@Html.ActionLink(Model.Link_class, "R_Class", "R_Class", null,
new { Link_class = @row[2], @class = "Click_Link", onclick = "return false;" })

<input type=hidden name="Link_id" value="@model.Link_id">
<input type=hidden name="Link_class" value="@model.Link_class">
<input type="submit" onclick="return false;">

}

购买我无法弄清楚这是否需要,我已经实施了这个想法,根据您的需要进行定制