How to use __doPostBack() How to use __doPostBack() asp.net asp.net

How to use __doPostBack()


You can try this in your web form with a button called btnSave for example:

<input type="button" id="btnSave" onclick="javascript:SaveWithParameter('Hello Michael')" value="click me"/><script type="text/javascript">function SaveWithParameter(parameter){  __doPostBack('btnSave', parameter)}</script>

And in your code behind add something like this to read the value and operate upon it:

public void Page_Load(object sender, EventArgs e){  string parameter = Request["__EVENTARGUMENT"]; // parameter  // Request["__EVENTTARGET"]; // btnSave}

Give that a try and let us know if that worked for you.


This is also a good way to get server-side controls to postback inside FancyBox and/or jQuery Dialog.For example, in FancyBox-div:

   <asp:Button OnClientClick="testMe('param1');" ClientIDMode="Static"  ID="MyButton"  runat="server" Text="Ok" ></asp:Button>

JavaScript:

function testMe(params) {    var btnID= '<%=MyButton.ClientID %>';              __doPostBack(btnID, params);}

Server-side Page_Load:

 string parameter = Request["__EVENTARGUMENT"]; if (parameter == "param1")     MyButton_Click(sender, e);


Here's a brief tutorial on how __doPostBack() works.

To be honest, I don't use it much; at least directly. Many server controls, (e.g., Button, LinkButton, ImageButton, parts of the GridView, etc.) use __doPostBack as their post back mechanism.