Skip to main content

Multiple FORM elements in asp.net Master / Pages / User Controls

Options for multiple <FORM > elements in a Master / Page / User Control

FORM element restrictions:
  •  There could be ONLY ONE FORM  that can have  'RUNAT=" SERVER "' and VISIBLE on a Page. 
  • You can have more than one FORM with RUNAT=SERVER and VISIBLE=FALSE attributes.
  •  You can have more than one <FORM method=post> element.
  •  User control does not allow '<html> , <body> and <form>' elements. So by default the hosting or parent page should have the FORM element.
Now what works between Pages and Master Page:
      When a content page merged with  a Master page, by default the content page rendered in between a <FORM runat=server>
<ContentPlaceHolder: Content Page>
</FORM>
Mast page always contains one <FORM runat=server> automatically created.


Use Case: Embedding more than one PayPal 'Buy' buttons on your page

    PayPal 'Buy' / 'PayNow' buttons are the fastest way to implement an online payment method on your site.
If you have more than one product you will be creating more than one 'Buy' button. The problem is that each button you create is a <FORM> and <SUBMIT>.  Example: The below code will create one Buy Now Button. https://www.paypal.com/cgi-bin/webscr?cmd=_pdn_xclick_techview_outside
<form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="me@mybusiness.com">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="item_name" value="Teddy Bear">
<input type="hidden" name="amount" value="12.99">
<input type="image" src="http://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form>


There are more options how pro-grammatically  create and access multiple FORMs in this link.
A nice MSDN article on Multiple FORM options

It would be great if Microsoft can separate Html <FORM> vs <FORM runat=server> . It can be a <ASPFORM> which does not need a 'RUNAT' attribute.

Tip:  If you use MVC Framework, you do not have the default 'aspnetform' - issue.

Comments

Popular posts from this blog

LLM on Mobile Phone : Mini Universal data and assistant running on an android smart phone Galaxy S23

  Imagine a world where everyone has access to a mini #OpenAI's #ChatGPT on their mobile phone, answering any question on any topic, right from their local phone memory. No need for internet. This is the future of #LLMs on mobile devices, and it's happening now. #MLC-AI has created a way to install a 3 billion parameter #RedPajam #LLMModel on a #Galaxy #S23 smartphone. This is a powerful #LLM that can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way. And it's all available on your phone, without the need for an internet connection. This could have a profound impact on people all over the world. Millions of suburban students who don't have access to the internet could now have access to a universal data source that can answer most of their questions. Refugee camps around the world could also benefit from this technology, giving refugees access to information and resources that they might not ot...

Javascript 3 dimentional matrix html board onclick empty current box

javascript 3 dimentional matrix html board onclick empty current box  Algorithm! Rules: 1. Only immediate Box can be swapped. Should not jump another box 2. Only directions allowed: Left, Right, Up, Down. 3. Should not swap diagonally.   See the Pen 3d matrix map numbers. by PV ( @moorthi07 ) on CodePen .   function hasClass(elem, className) {   return elem.className.split(" ").indexOf(className) > -1; } function addClick() {   var btn = '<button class="btn1">kkkkk</button>';   document.getElementById("container").innerHTML += btn; } // function boxbodyClick(obj) { //   /* console.log(';;;',obj.className) */ //   /* alert(obj) */ // } var arr = [3]; for (var i = 0; i < 3; i++) {   arr[i] = new Array(3); } var emti = 0; var emtj = 0; function btnClick(obj, i, j) {   if (arr[i][j] !== "-") {            if (j + 1 == emtj || j == emtj || j - 1 == emtj)...

Agentic AI growth could make GenAI providers to charge $1000-$2000 per month - #Cathywood , here is how.

      #Cathywood predicts that as the #agenticgenai grows the #GenAI service providers like openai, gemini, Copilot, etc will be able to charge $1000 - $2000 per month to their business customers. And she adds, "this is going to happen". Why this is important: Remember #Cathywood made a monster call in 2018, predicting that Tesla would hit $4,000 in five years. And eventually Tesla hit Wood's price target, with shares closing at $816, or $4,080 on a split adjusted basis (Jan. 2021). How this could happen: #AgenticGenAi means , 1. Integrating a business service with GenAI providers like Gemini/ChatGPT as an agent and make available in the chat interface. 2. Less human interaction and more calls to the GENAI Models. Nothing totally new, its similar to 'Ok google play a song from spotify' 'Alexa, order 8 pack dove on amazon' For example, when booking a flight, instead of navigating a complex travel website, users can simply provide a text prompt...