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

时间:2014-01-29 11:10:14

标签: c# asp.net

我在同一个网页上有两个表单,我想检测哪个表单是在发布事件后提交的,并根据提交的表单显示不同的消息。

我已经看到一些例子,人们根据点击的提交按钮检测到了这个,但在我的情况下,只需按回车即可提交表格。是否可以根据表单名称/ 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>
    }
}

1 个答案:

答案 0 :(得分:3)

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

<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>
    }
}