/ / Бутон ONCLICK ONSERVERCLICK - javascript, asp.net, onclick

BUTTON ONCLICK ONSERVERCLICK - javascript, asp.net, onclick

Аз съм изправен пред проблем с бутоните.

Искам да се извърши валидиране от страна на клиента (да речем, че изберете максимум само 4 квадратчета в даталист).

Използвах INPUT TYPE = "BUTTON" RUNAT = "SERVER" стил на маркер. и сложете Onserverclick = "someservermethod", което работи добре.

Написах Validate () и добавих onclick = "returnvalidate (); "за горната HTML маркировка и мислех, ако тя върне невярно, тогава кодът на страната ми на сървъра someservermethod () няма да се изпълни и работи страхотно, както се очакваше

Но когато се върна вярно, мислех, че ще уволни моята someservermethod (), но не работи. Някакви мисли за това защо не работи?

HTML МАРКУП ПО-долу за бутона

button onclick="return ValidateSelection();" type="button" id="btnSubmit"
runat="server" onserverclick="btnSubmit_Click"

КОД НА КЛАВИАТУРА

function ValidateSelection()
{
if(good)
{
// I expect that my server side code btn_Submit would have got called. But
// it doesn"t get called.
return true;
}
else
{
//This works great. Not calling the server side method for the button
alert("something happened");
return false;
}
}

Мисля, че се забърквам с форматирането. Извинете.

Отговори:

4 за отговор № 1

Контролът, който използвате в момента, е HtmlButton, който не е "подходящ" за това, което се опитвате да направите, като вашия onclick презаписва необходимия код от страна на клиента за обратно публикуване.

Това, от което се нуждаете, е бутонът, който поддържа презаписване от страна на клиента onclick и все още изпълнявайте публикацията обратно, както обикновено.

Променете маркировката на това и тя трябва да работи:

<asp:button OnClientClick="return ValidateSelection();" id="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit"></asp:Button>