如何在mvc3中使用单个按钮进行验证

时间:2012-09-12 05:26:35

标签: asp.net-mvc-3

我在单个表单上有两个按钮。 用于上传文件的第一个按钮和第二个按钮是提交。 我想要验证,当我点击提交按钮时,应该生成时间验证。 但是在我的应用程序中,当我点击上传按钮时生成了验证时间。

查看:

<% using (Html.BeginForm("Create","Document", null, FormMethod.Post, new { enctype = "multipart/form-data" }))

<table>

 <tr>
                <td >
                  File Name:
                </td>
                <td >
                    <%: Html.EditorFor(model=>model.document.DOCUMENT_NAME) %>
                    <%: Html.ValidationMessageFor(model => model.document.DOCUMENT_NAME) %>
                </td>              
            </tr>
            <tr>
                <td>               
                    Select File:
                </td>
                <td>          
                    <input type="file" name="file" id="file" style="height: 24px" />
                    <input type="submit" name="submitButton" value="Upload" />
                </td>
<tr>
</table>

 <div>
            <input type="submit" name="submitButton" value="Create" />
</div

<%}%>

控制器:

    [Required]
    [Display(Name = "DOCUMENT NAME")]
    [ReadOnly(true)]
    public string DOCUMENT_NAME
    {
        get;
        set;
    }

2 个答案:

答案 0 :(得分:0)

表单上的任何按钮(并且您有两个)将触发验证。一种可能的解决方案是通过某个元素替换上传按钮并通过jquery上传。

答案 1 :(得分:0)

您还可以查看点击下面的按钮

查看:

<div>          
<input type="file" name="file" id="file" style="height: 24px" />
<input type="submit" id="btnUpload" name="submitButton" value="Upload" />
</div>

 <div>
<input type="submit" id="btnCreate" name="submitButton" value="Create" />
</div

控制器

public ActionResult actionName(string btnUpload,string btnCreate)
{
  //now you can easily check here for which button is clicked

if(btnUpload != null || btnUpload !="")
{
 //perform uploading logic here
}
if(btnCreate!=null || btnCreate !="")
{
 //perform your validation here
} 
}

我希望这会对你有所帮助。