1

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

看法:

<% 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;
    }
4

2 回答 2

0

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

于 2012-09-12T07:00:36.360 回答
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
} 
}

我希望这能帮到您。

于 2012-09-12T10:28:59.547 回答