iT邦幫忙

0

ASP.NET Webform中Button的OnClickClient沒有作用

  • 分享至 

  • xImage

最近在做ASP.NET Webform,有一個Button我有加入OnClickClient,本來都沒問題,結果我把這個頁面加到主版頁面以後這個按鈕變成無法送出,請問是為什麼呢?謝謝

補充:
程式碼如下
<asp:Button ID="btnUpdate" runat="server" OnClick="btnUpdate_Click" OnClientClick="return confirm('確定要更新嗎?')" Text="更新" UseSubmitBehavior="false" />

然後btnUpdate_Click按鈕事件進不去

kw6732 iT邦研究生 4 級 ‧ 2022-09-03 20:27:14 檢舉
你加入了什麼敘述,如果沒有把內容貼出來,要如何幫你判斷?
PPTaiwan iT邦好手 1 級 ‧ 2022-09-04 13:07:28 檢舉
就猜一猜喔...
iT邦新手 4 級 ‧ 2022-09-04 17:58:31 檢舉
https://www.c-sharpcorner.com/blogs/difference-between-onclick-and-onclientclick1 看這裡的描述是 OnClientClick 的函式若回傳 false,server 端的 onClick 函式就沒作用了,不知道是不是你遇到的情況
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0

01.建議在 WEB 頁面加入以下元件, 讓 .NET 在前端產生 JavaScript 的 __doPostBack 方法。

<asp:LinkButton ID="linkDoNoThing" runat="server" Text=""></asp:LinkButton>

02.然後在 WEB 頁面加入此 SCRIPT。

<script type="text/javascript">
function GO_UPDATE(arg) {
   if (confirm("確定要更新嗎?")) {
      __doPostBack("GO_UPDATE", arg);
   }
}
</script>

<asp:Button ID="btnUpdate" runat="server" OnClientClick="GO_UPDATE('5')" Text="更新" UseSubmitBehavior="false" />

03.最後,在 CS 端加入語法 於 Page_Load 事件...

protected void Page_Load(object sender, EventArgs e)
{
   string postbackCommand = string.Format("{0}", Request.Params.Get("__EVENTTARGET"));
   
   string postbackArgs = string.Format("{0}", Request.Params.Get("__EVENTARGUMENT"));
   
   if (!this.Page.IsPostBack)
   {
   }
   else
   {
      if (base.postbackCommand == "GO_UPDATE")
      {
         this.UpdateData(postbackArgs);
      }
   }
}

private void UpdateData(string id)
{
    // 請將原本 btnUpdate_Click 的程式碼貼到這裡,還可以帶參數。
}

希望可以幫到樓主,我也是新手,互相幫忙,祝樓主能早日解決問題。

我要發表回答

立即登入回答