asp.net razor网页验证和使用多个表单

asp.net razor网页验证和使用多个表单,razor,Razor,我想在我的razor网页中使用两个From(不是mvc) 我的问题是使用多个表单 我如何告诉我的项目哪个表单按钮被点击,另一个问题是验证 因为在web表单项目中,我使用验证组来分离验证,但这里 我不知道如何在客户端验证和服务器端验证中处理它 这是我的密码 : @{ 第页。标题=”; Layout=“~/\u Layout.cshtml”; Validation.Add(“txt1”,Validator.Required(“不能留空”); Validation.Add(“txt2”,Validat

我想在我的razor网页中使用两个From(不是mvc) 我的问题是使用多个表单 我如何告诉我的项目哪个表单按钮被点击,另一个问题是验证 因为在web表单项目中,我使用验证组来分离验证,但这里 我不知道如何在客户端验证和服务器端验证中处理它 这是我的密码 :

@{
第页。标题=”;
Layout=“~/\u Layout.cshtml”;
Validation.Add(“txt1”,Validator.Required(“不能留空”);
Validation.Add(“txt2”,Validator.Required(“不能留空”);
如果(IsPost)
{
如果(!Validation.IsValid())
{
Validation.AddFormError(“存在错误”);
}
}
}
.验证摘要错误{
边框:2px实心#990099;
颜色:红色;
}
.字段验证错误{
颜色:红色;
}
.输入验证错误{
颜色:#990099;
背景色:#ff80ff;
边框顶部:2个实心#990099;
左边框:2px实心#990099;
}

@Html.ValidationMessage(“txt1”)
@Html.ValidationMessage(“txt2”)
查看此链接以处理多个表单请求


您可以在每个小节中处理验证。希望对您有所帮助

您可以通过查看单击了哪个提交按钮来确定提交了哪个表单。它的名称和值将出现在
Request.Form
集合中。如果示例代码中的第一个表单已提交,
Request[“s1”]
的值为“Send 1”
Request[“s2”].IsEmpty()
将为
true


绕过验证问题的最简单方法是对两个文本框使用相同的名称(“txt1”)。否则,您将不得不离开验证帮助程序,根据提交的表单编写自己的条件验证例程(客户端和服务器)。

谢谢royoston,这帮了我的忙,但验证问题仍然存在,我如何处理每个表单的验证?
@{
Page.Title = "";
Layout = "~/_layout.cshtml";

    Validation.Add("txt1", Validator.Required("can not leave empty"));
    Validation.Add("txt2", Validator.Required("can not leave empty"));


if (IsPost)
{

    if (!Validation.IsValid())
    {
    Validation.AddFormError("there are errors");
    }


}


}
    <style>
    .validation-summary-errors {
            border: 2px solid #990099;
            color: red;
        }

        .field-validation-error {
            color: Red;
        }

        .input-validation-error {
            color: #990099;
            background-color: #ff80ff;
            border-top: 2px solid #990099;
            border-left: 2px solid #990099;
        }
    </style>
    <div>
    <script src="~/jquery-1.7.2.min.js"></script>
    <script src="~/jquery.validate.min.js"></script>
    <script src="~/jquery.validate.unobtrusive.min.js"></script>
    </div>


 <p style="height:10px;"></p>

 <div>
<form name="f1" action="/" method="post">
<div>
    <input name="txt1" type="text" 
        class="@Validation.ClassFor("txt1")"
         />

    @Html.ValidationMessage("txt1")
</div>
<div>
    <input type="submit" name="s1" value="Send 1" />
</div>
</form>

</div>
<br />

<form name="f2" action="/" method="post">
<div>
    <input name="txt2" type="text" 
        class="@Validation.ClassFor("txt2")"
        />

    @Html.ValidationMessage("txt2")
</div>
<div>
    <input type="submit" name="s2" value="Send 2" />
</div>

 </form>