检测已在C#/ASP.NET中提交的表单

检测已在C#/ASP.NET中提交的表单,c#,asp.net,C#,Asp.net,我在同一网页上有两个表单,我想检测哪个表单是在post活动中提交的,并根据提交的表单显示不同的消息 我见过一些例子,人们根据点击提交按钮检测到这种情况,但在我的例子中,只需按enter键即可提交表单。是否可以根据表单名称/id检测提交的表单?如果不能做到这一点,最好的办法是什么 这是我最简单的代码形式,我想我使用的语法是在使用提交按钮时使用的,但为了以防万一我错了,我把它包括进去: <form method="post" name="form1" id="form1"> &l

我在同一网页上有两个表单,我想检测哪个表单是在post活动中提交的,并根据提交的表单显示不同的消息

我见过一些例子,人们根据点击提交按钮检测到这种情况,但在我的例子中,只需按enter键即可提交表单。是否可以根据表单名称/id检测提交的表单?如果不能做到这一点,最好的办法是什么

这是我最简单的代码形式,我想我使用的语法是在使用提交按钮时使用的,但为了以防万一我错了,我把它包括进去:

<form method="post" name="form1" id="form1">
    <input type="text" name="textbox1" />
</form>

<form method="post" name="form2" id="form2">
    <input type="text" name="textbox2"  />
</form>

if(IsPost){
    if(Request["submit"] == "form1"){
        <p>Form 1 was submitted</p>
    }else if(Request["submit"] == "form2"){
        <p>Form 2 was submitted</p>
    }
}

如果(IsPost){
如果(请求[“提交”]=“表格1”){
提交了表格1

}否则如果(请求[“提交”]=“表格2”){ 提交了表格2

} }
您可以在每个表单中放置一个隐藏字段,其中包含表单的唯一名称:

<form method="post" name="form1" id="form1">
    <input type="text" name="textbox1" />
    <input type="hidden" name="Form1Submitted" value="true" />
</form>

<form method="post" name="form2" id="form2">
    <input type="text" name="textbox2"  />
    <input type="hidden" name="Form2Submitted" value="true" />
</form>

然后,您可以像这样在代码隐藏中检查它:

if(IsPost){
    if(Request["Form1Submitted"] == "true"){
        <p>Form 1 was submitted</p>
    }else if(Request["Form2Submitted"] == "true"){
        <p>Form 2 was submitted</p>
    }
}
if(IsPost){
如果(请求[“Form1Submitted”]=“true”){
提交了表格1

}否则如果(请求[“Form2Submited”]=“true”){ 提交了表格2

} }
您可以在包含唯一名称的每个表单中放置一个隐藏字段。我认为您根本不应该使用多个表单。如果要使用多个表单,您应该为它们指定单独的操作/目标。您当前采用的方法使调试更加困难,更容易出错。出于兴趣,为什么不在一个页面上使用多个表单?我目前使用的是一个登录表单(每个页面上都有),还有一个联系人表单,所以这些表单最终会出现在同一个页面上。