2014-04-25 109 views

回答

3

假设你使用标准的不显眼/ jQuery验证;通过把一类的“取消”按钮关闭客户端验证:

<button type="submit" class="cancel">Delete</button> 

这将防止客户端验证被点击了此按钮的事件在所有射击。

对于服务器端,只是不检查模型的有效与否。

+0

我感兴趣的客户端验证。请多描述一下你的解决方案。 – POIR

+0

谢谢!现在我明白了。我从来没有想过会这么简单。 – POIR

+0

@Otix Yep - 这只是jQuery验证使用的约定:) –

0

例如,如果您在模型上有一个属性Name,并且您不希望在删除时验证它。 您首先需要区分httppost是否来自保存或删除按钮。

加入您的型号字段IsDelete

我建议你在你看来像添加:

@Html.HiddenFor(x => x.IsDelete) 

onclick事件添加到您的删除按钮:

<button type="submit" onclick="javacript: $('#IsDelete').val('true');"> Delete </button> 

在控制器做这样的事情:

public ActionResult MyAction(MyModel model) 
{ 
    if(model.IsDelete) 
     ModelState.Remove("Name"); 

    var valid = ModelState.IsValid(); 
} 
-1

您可以在视图中使用两个单独的窗体进行编辑和删除。

例:

@using(Html.BeginForm("Edit", "Employee")) 
{ 
    //Edit inputs - ex textboxes for employee details such as name, age... 
    <input type="submit" value="Edit" /> 
} 

@using(Html.BeginForm("Delete", "Employee")) 
{ 
    //Delete inputs - ex: hidden input for employee id 
    <input type="submit" value="Delete" /> 
}