我正在使用.Net MVC 4。
我在一个View上有两个按钮,它们包含两个独立的Html.BeginForm语句。第一个是visibile而第二个不是(这取决于帖子后的第一个按钮逻辑是否成功)。
如果在按下第一个按钮进入Controller方法后,如何使第二个按钮可见?该方法基本上说,我没关系,现在我可以看到第二个按钮。我正在传回一个视图。我可以设置一个viewbag变量(或类似的东西),一旦我回到View中,我可以使第二个按钮可见吗?
第二个按钮只是一个带有Id值的输入按钮。
答案 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将无法隐藏/显示。