我正在使用.Net MVC 4。
我在一个视图上有两个按钮,它们围绕着两个单独的 Html.BeginForm 语句。第一个是可见的,第二个不是(这取决于发布后的第一个按钮逻辑是否成功)。
在按下的第一个按钮进入控制器方法后,如何使第二个按钮可见?该方法基本上说,我很好,现在我可以使第二个按钮可见。我正在传回一个视图。是否有一个 viewbag 变量(或类似的东西)我可以设置,一旦我回到视图,我可以让第二个按钮可见?
第二个按钮只是一个带有 Id 值的输入按钮。
我正在使用.Net MVC 4。
我在一个视图上有两个按钮,它们围绕着两个单独的 Html.BeginForm 语句。第一个是可见的,第二个不是(这取决于发布后的第一个按钮逻辑是否成功)。
在按下的第一个按钮进入控制器方法后,如何使第二个按钮可见?该方法基本上说,我很好,现在我可以使第二个按钮可见。我正在传回一个视图。是否有一个 viewbag 变量(或类似的东西)我可以设置,一旦我回到视图,我可以让第二个按钮可见?
第二个按钮只是一个带有 Id 值的输入按钮。
第一种方法:如上所述,但我担心,如果你有一个局部视图并且基于你想要显示或隐藏的东西,它不会起作用。
第二种方法:初始页面加载,按钮可见。
<input id='btnAdd' type='button' value='Add' style='display:block;'/>
基于页面/部分视图上的一些操作
<script>
function disableAdd() {
$('#btnAdd').hide();
}
</script>
*请注意,如果您在样式表中使用可见性,jquery 将无法隐藏/显示。
是否有一个 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" />
}