在mvc帖子后启用提交按钮

时间:2012-10-04 12:25:33

标签: asp.net-mvc-4

我正在使用.Net MVC 4。

我在一个View上有两个按钮,它们包含两个独立的Html.BeginForm语句。第一个是visibile而第二个不是(这取决于帖子后的第一个按钮逻辑是否成功)。

如果在按下第一个按钮进入Controller方法后,如何使第二个按钮可见?该方法基本上说,我没关系,现在我可以看到第二个按钮。我正在传回一个视图。我可以设置一个viewbag变量(或类似的东西),一旦我回到View中,我可以使第二个按钮可见吗?

第二个按钮只是一个带有Id值的输入按钮。

2 个答案:

答案 0 :(得分:1)

  

我可以设置一个viewbag变量(或类似的东西)   一旦我回到视图中,我可以使第二个按钮可见吗?

是的,但由于我不是ViewBag的忠实粉丝,我建议您在模型中添加一个布尔属性,然后在POST控制器操作中设置此属性。

[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
    model.IsSecondButtonVisible = true;
    return View(model);
}

然后在视图中:

@if (Model.IsSecondButtonVisible)
{
    <input type="button" value="the second button" />
}

答案 1 :(得分:1)

第一种方法:如上所述,但我担心,如果你有一个局部视图,并根据你想要显示或隐藏某些东西的东西,它将不起作用。

第二种方法:初始页面加载,按钮可见。

<input id='btnAdd' type='button' value='Add' style='display:block;'/>

基于页面/局部视图上的某些操作

<script>
  function disableAdd() {
  $('#btnAdd').hide();
}
</script>

*请注意,如果您在样式表中使用可见性,则jquery将无法隐藏/显示。