簡體   English   中英

為什么我的按鈕沒有調用我的 function?

[英]Why my button is not calling my function?

我正在嘗試調用 function 來更改<p>標簽的內容,看來我的 function 沒有被調用,在此先感謝。

我檢查了所有標簽是否都有runat="server" ,並確保 function 名稱正確。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace StepFollowingDemo
{
    public partial class Test1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            void Yeah()
            {
                string Some = Something.Value;
                this.Result.InnerHtml = Some;
            }
       }

    }
}

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Test1.aspx.cs" Inherits="StepFollowingDemo.Test1" %>

測試用例


<label runat="server" for="Something">Type:</label>
<input runat="server" type="Text" class="from-control" id="Something"/>
<button runat="server" type="button" onclick="Yeah();" class="btn btn-success">Project your words</button>
<br /><br />

<label runat="server" for="Result">Output: </label>
<p runat="server" id="Result"></p>

我假設您想在服務器端運行該代碼。 我看到兩個問題:

  1. 您將需要使用ASP Button 控件,例如<asp:Button> 有關如何使用它的詳細信息,請查看該文檔。 <button>標簽不是 ASP 控件,因此onclick正在客戶端運行。 它正在尋找 javascript function。

  2. 您在Page_Load中聲明了該方法,並且使用了錯誤的事件簽名。 將其移出Page_Load ,在 class 下:

protected void Page_Load(object sender, EventArgs e)
{
}

protected void Yeah(object sender, CommandEventArgs e)
{
    string Some = Something.Value;
    this.Result.InnerHtml = Some;
}

此外, Yeah的,這不是通常的命名約定,但它仍然可以工作。

我不確定這是否可以編譯。 現在你在 function Page_Load(object sender, EventArgs e)中有一個 function Yeah() ) 。

並試圖為一個事件注冊 Yeah(),盡管它顯然不是一個事件處理程序候選者(完全錯誤的簽名)。 還有大約十幾個支架來自 scope。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM