Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过MVC操作方法显示/隐藏HTML按钮_C#_Javascript_Jquery_Asp.net Mvc - Fatal编程技术网

C# 如何通过MVC操作方法显示/隐藏HTML按钮

C# 如何通过MVC操作方法显示/隐藏HTML按钮,c#,javascript,jquery,asp.net-mvc,C#,Javascript,Jquery,Asp.net Mvc,在我的网页中,我需要根据名为ButtonType的参数值填充按钮 假设如果ButtonType==“Edit”,那么我需要隐藏每个按钮,但是butUpdate 我想知道如何通过MVC操作方法显示/隐藏html按钮 [AcceptVerbs(HttpVerbs.Post)] public ActionResult SupplierDetail(int SupplierID, string ButtonType) { var Supplier = supplie

在我的网页中,我需要根据名为
ButtonType
的参数值填充按钮
假设如果
ButtonType==“Edit”
,那么我需要隐藏每个按钮,但是
butUpdate

我想知道如何通过MVC操作方法显示/隐藏html按钮

[AcceptVerbs(HttpVerbs.Post)]
    public ActionResult SupplierDetail(int SupplierID, string ButtonType)
    {   
        var Supplier = supplierListRepository.Supplier_SelectByID(SupplierID);
        return View(Supplier);
    }
我正在使用Asp.net Mvc Razor表单

@using (Html.BeginForm("SupplierDetail_SubmitClick", "Supplier", FormMethod.Post, new { id = "frmSupplierDetail" }))
{   
@Html.ValidationSummary(true)
<table cellpadding="0" cellspacing="0" border="0" style="width:450px; height:auto">
.....
<tr>
    <td>@Html.LabelFor(model => model.Phone)</td>
    <td>@Html.EditorFor(model => model.Phone)
        @Html.ValidationMessageFor(model => model.Phone)</td>
</tr>
<tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>
    <td>&nbsp;</td>
    <td>
        <input type="submit" id="butSave" name="butSave" value="Save" style="width:100px; height:auto" />
        <input type="submit" id="butUpdate" name="butUpdate" value="Update" style="width:100px; height:auto" />
        <input type="submit" id="butDelete" name="butDelete" value="Delete" style="width:100px; height:auto" />
        <input type="submit" id="butReset" name="butReset" value="Reset" style="width:100px; height:auto" />
    </td>
</tr>
</table>
</div>

<div id="content">
@Html.ActionLink("Back to List", "Index")
</div>

}
@使用(Html.BeginForm(“SupplierDetail\u SubmitClick”,“Supplier”,FormMethod.Post,new{id=“frmSupplierDetail”}))
{   
@Html.ValidationSummary(true)
.....
@LabelFor(model=>model.Phone)
@EditorFor(model=>model.Phone)
@Html.ValidationMessageFor(model=>model.Phone)
@ActionLink(“返回列表”、“索引”)
}

每一项建议都将不胜感激。

显示/隐藏按钮不是控制器的责任。控制器操作甚至不应该知道按钮的含义。这是视图中存在的一个概念。另一方面,控制器动作应与模型通信,并准备一个视图模型,该视图模型将传递给视图进行显示。因此,您可以定义一个视图模型,该模型将包含定义按钮可见性的属性,并根据ButtonType参数的值相应地设置这些属性。然后,控制器操作将此视图模型传递到视图,而不是当前传递的
供应商
对象。显然,视图模型也将有一个属性来容纳该供应商。现在,视图剩下的所有内容都基于视图模型属性的值来决定如何显示按钮。

显示/隐藏按钮不是控制器的操作职责。控制器操作甚至不应该知道按钮的含义。这是视图中存在的一个概念。另一方面,控制器动作应与模型通信,并准备一个视图模型,该视图模型将传递给视图进行显示。因此,您可以定义一个视图模型,该模型将包含定义按钮可见性的属性,并根据ButtonType参数的值相应地设置这些属性。然后,控制器操作将此视图模型传递到视图,而不是当前传递的
供应商
对象。显然,视图模型也将有一个属性来容纳该供应商。现在,视图剩下的所有内容都基于视图模型属性的值来决定如何显示按钮。

在控制器中,将buttontype添加到viewdata:

ViewData["ButtonType"] = ButtonType
然后,在视图本身中,您可以添加if/else语句或适合所有情况的任何其他逻辑,以决定要呈现的内容:

@if (ViewData["ButtonType"].ToString() == "Edit")
{
    <input type="submit" id="butUpdate" name="butUpdate" value="Update"    
     style="width:100px; height:auto" />      
}
@if(ViewData[“ButtonType”].ToString()=“编辑”)
{
}

当然,这只是一个演示,您应该根据控制器中的业务逻辑调整代码,将buttontype添加到viewdata:

ViewData["ButtonType"] = ButtonType
然后,在视图本身中,您可以添加if/else语句或适合所有情况的任何其他逻辑,以决定要呈现的内容:

@if (ViewData["ButtonType"].ToString() == "Edit")
{
    <input type="submit" id="butUpdate" name="butUpdate" value="Update"    
     style="width:100px; height:auto" />      
}
@if(ViewData[“ButtonType”].ToString()=“编辑”)
{
}

当然,这只是一个演示,您应该根据您的业务逻辑调整代码

这与您对20多个问题的答案表示感谢(您不愿意接受答案)的意思相同?这与您对20多个问题的答案表示感谢(您不愿意接受答案)的意思相同?我真的很感谢您的好意建议,谢谢Darin Dimitrov。我真的很感激你的好建议,谢谢Darin Dimitrov。