簡體   English   中英

如何從asp:Button的OnCommand中的另一個文件調用方法? asp.net C#

[英]How do I call a Method from another file in OnCommand of my asp:Button? asp.net C#

我想整理一下Default.aspx,並嘗試將按鈕的“ actionlistener”(我知道在C#中可能不是正確的名稱)移動到一個名為“ DefaultCodeBehind.cs”的文件中。

我在Default.aspx頂部聲明了CodeBehind文件,如下所示:

<%@ Page Language="C#" CodeBehind="DefaultCodeBehind.cs" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

這是按鈕(也在Default.aspx中):

<asp:Button runat="server" type="button" id="contSec5" CommandName="contSec5" OnCommand="ToggleDivPage" CssClass="button_menubar" text="Section 5" />

這是DefaultCodeBehind.cs中的actionlistener /方法:

void ToggleDivPage(object sender, CommandEventArgs e)
{
    code...
}

這是嘗試執行代碼時出現的錯誤:

CS1061:“ default_aspx”不包含“ ToggleDivPage”的定義,找不到擴展方法“ ToggleDivPage”,該擴展方法接受“ default_aspx”類型的第一個參數(是否缺少using指令或程序集引用?)

我也嘗試這樣調用該方法:

<asp:Button runat="server" type="button" id="contSec5" CommandName="contSec5" OnCommand="DefaultCodeBehind.ToggleDivPage" CssClass="button_menubar" text="Section 5" />

但是我並不是真的希望這個能夠成功。 (對於C#尤其是asp.net,我還很陌生,這可能解釋了這一有趣的嘗試。)

我是否必須將CodeBehind聲明為不同,否則是否有可能將動作偵聽器移到Default.aspx之外。

提前致謝。

最好的祝福,

拉爾斯

發布此問題幾分鍾后,我自己偶然發現了答案。 我完全忽略了CodeFile標簽。 因此ToggleDivPage不能在找到CodeBehind ,因為它必須在Default.aspx.cs 移動它,當然使其public解決了我的問題。 感謝@Stefan和@James Thorpe也解決了這個問題。

暫無
暫無

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

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