繁体   English   中英

单击按钮时用于运行代码隐藏代码的Javascript

[英]Javascript for running code-behind code when a button is clicked

单击保存按钮时,我将显示一个弹出窗口。 弹出窗口有2个按钮。 是和否。否应该取消弹出窗口,是应该使您在后面的代码btnSave_Click(object sender,Eventargs e)中起作用。 这怎么可能。 有人可以帮助我,我是Java语言的新手。

以下是我在弹出窗口中显示的代码。

var mdlPopup = $find('<%= ModalPopupExtendersavechanges.ClientID %>');
     if(mdlPopup)
     {
       mdlPopup.show();           
     }

您不能直接从JavaScript调用服务器端代码。 进行回发或在后台触发XHR(AJAX)请求。

为此,您需要将服务器端功能设置为如下所示的网络方法:

添加到代码顶部的后面:

using System.Web.Services;
using System.Web.Script.Services;

然后使用以下属性装饰您的方法:

 [WebMethod(), ScriptMethod()]
 public static void btnSave_Click(Object sender)
 {
   //Stuff
 }

要从客户端(JavaScript)调用此操作,请执行以下操作:

PageMethods.btnSave_Click(this,btnSave_Click_Finished);

您可以将其放置在客户端单击事件中。 第一个参数是sender参数,第二个参数是服务器端方法完成后要调用的javascript函数。

我认为您可以使用javascript访问服务器端脚本。 __doPostBack是位于asp postback后面的函数,当单击按钮或更改下拉值时,将调用此函数。 有关更多详细信息,请参考[this。] [1]

您只需要在表单和javascript(即按钮单击功能)中放置<asp:Button ID="btnSave" runat="server" onClick="btnSave_Click" /> ,只需调用__doPostBack('<%= btnSave.UniqueID %>', '');

因此它将调用服务器端函数。(btnSave_Click)注意,您需要将'<%= btnSave.UniqueID %>'作为第一个参数。

上面的工作类似于服务器按钮的单击

另一种方法是使用jquery.postjquery.ajax来发布帖子或ajax,可以将请求异步发送到服务器。在这里,您想传递一些查询字符串并在page_Load调用适当的函数。回传

另一种方法是通过定义静态WebMethod从客户端使用PageMethods

[1]: http : //msdn.microsoft.com/zh-cn/library/aa720099%28vs.71%29.aspx/ “从客户端调用服务器端功能”我希望其中任何一个都能解决您的问题

Yes按钮应该是带有服务器端处理程序的asp.net控件

标记

<asp:button id="yesButton" runat="server" onclick="yes_click" />

代码隐藏

void yes_click(object sender, EventArgs e) {
   // TODO your thing here.
}

其他按钮可以是带有javascript事件处理程序的标准html input 如果您使用JavaScript来更改元素样式,则更改将不会在回发中持续存在-当提交yes按钮并重新加载页面时,将不会显示弹出窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM