Jika anda terbiasa menggunakan teknik submit disertai metode POST / GET pada PHP misalnya, mungkin anda akan menemui sedikit kesulitan jika menggunakan ASP.Net.
ASP.Net dengan WebForm Framework, memberikan form-form tersendiri selain menyediakan form” HTML biasa. Hal ini secara umum merupakan kelebihan dari ASP.Net, karena form”-nya yang sangat Powerfull dan Usefull. Namun bisa juga hal ini merupakan kekurangan ASP.NET tersebut, terutama untuk masalah POST dan GET.
Hal ini akan dicontohkan pada code berikut.
CODE : Tag Form ASP.Net
<pre><em> </em>
<pre><em><body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
CODE : Tag Form HTML dengan POST/GET
<body>
<form id="form2" action="page.aspx" method=get>
<div>
<input id="Submit1" type="submit" value="submit" />
<input id="Text1" type="text" name="Text1"/>
</div>
</form>
</body>
Tedapat perbedaan penulisan Tag Form. Pada ASP.Net terdapat runat=server dan itu mutlak harus ada. Jika anda meletakan sebuah ASP.Net WebControl diluar form dengan runat=server, maka dipastikan akan eror. Namun penggunaan Tag Form ASP.Net hanya boleh satu buah. Sedangkan untuk Tag Form tanpa runa=server dapat lebih dari satu dan ini berarti anda tidak dapat meletakan ASP.Net WebControl didalamnya.
Kembali ke permasalahan POST / GET. Untuk melakukan metode tersebut, anda harus melakukannya pada Tag Form yang memiliki action dan method. Hal inilah yang menjadi permasalahan pada ASP.Net.
Anda tidak dapat menggabungkan kedua tag form tersebut. Tag yang menjadi root akan meniadakan fungsi dari tag child. Contoh jika form ASP.net didalam tag POST, maka semua control ASP.net akan berfungsi sebagai submit dan beberapa action handler tidak berjalan dengan benar. Jika kasus yang terjadi sebaliknya, maka fungsi POST / GET tidak akan berjalan.
Hal ini lah yang menjadi kelemahan dari ASP.Net, karena sifatnya yang tidak flexible.
Namun satu hal menarik adalah, Label ASP.Net merupakan ASP.Net Control yang dapat diletakan pada Form selain tag form ASP.Net dan hal ini sangat menguntungkan (Label ASP.Net sangat berguna dalam ASP.Net Web Programming).
CODE : Tag Form ASP.NET dan Method POST / GET
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
<form id="form2" action="page.aspx" method=get>
<div>
<input id="Submit1" type="submit" value="submit" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>