Reputation: 449
I have a server side function
protected void SearchButton_Click(object sender, EventArgs e)
{
}
I need to call the same from a client side script
function calSearch()
{
// here I need to call the client side script
}
Upvotes: 5
Views: 32003
Reputation: 330
you can use __doPostBack method
function functionName()
{
__doPostBack('ButtonId','OnClick');
}
or you can try this....
<button id="btnsave" onclick="callfunction()">Save</button>// to all javascript
<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" style="display:none" />
<script type="text/javascript">
function callfunction()
{
/*do your javascript coding here*/
document.getElementById('<%= btnSave.ClientID %>').click();
// we are firing onClick event for asp button btnsave form javascript.
}
</script>
otherwise you can create WebMethod in code behind and make AJAX call but then you wont be able to access asp control in WebMethod.
$.ajax({
type: "POST",
url: "AspDotNetPage{}'{"+myData+"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert(msg);
}
});
Upvotes: 2
Reputation: 28771
Assuming Id of your button is SearchButton , you can do this
function calSearch(){
__doPostBack('SearchButton','');
}
Note: There are two underscores before doPostBack() function
Upvotes: 0
Reputation: 1669
You cant do this, your option is to simulate Click of a button using javascript.
<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" style="display:none" />
HTML markup will look like this:
<button id="btnsave" onclick="fncsave()">Save</button>
now simulate a Click using JS
<script type="text/javascript">
function fncsave()
{
document.getElementById('<%= savebtn.ClientID %>').click();
}
</script>
Other solution would be to use ajax.
Upvotes: 9