2

このボタンを含む ASPX ファイルがあります。

<asp:button id="cmdPartnerInfo" runat="server" Font-Bold="True" 
    Text="Partner Info" TabIndex="3">
</asp:button>

ASPX.VB ファイルには、次の Sub があります。

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    cmdPartnerInfo.Attributes.Add("onclick", "return ShowPartnerContatcInfo();")
    imgStaff.Attributes.Add("onclick", "return AddStaffSelection();")
    lblDt.Text = ""

... snip ...

End Sub

ただし、下に波線がcmdPartnerInfoあり、メッセージは次のとおりです。

Error 38 'cmdPartnerInfo' is not declared. It may be inaccessible due to its 
protection level.

そのため、vb ファイルのコードは、aspx ページの asp コントロールを認識していないようです。

なぜこれが起こっているのかを理解する助けがあれば幸いです。

ありがとう!エリック

更新: これらは、ASPX ページの上部にある 2 つのディレクティブです。

<%@ Register TagPrefix="Card" TagName="Banner" Src="~/banner.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" CodeFile="projectpartlog.aspx.vb" Inherits="Project_and_Partners_Log" %>
4

5 に答える 5

3
  1. ページのディレクティブ<%@ Pageを確認し、背後のクラスが aspx ファイルに属していることを確認してください。
  2. 次に確認する必要があるのは、aspx.designer ファイルです (ボタン コントロールの宣言を見つける必要があります)。コードをコピーして貼り付けると、VSが自動的に宣言を追加しないことがあります。
于 2012-05-07T13:50:59.970 に答える
2

あなたの ASPX ファイルには、"CodeFile/Inherits" 属性を持つ page ディレクティブの宣言がありますか? 例 <@Page CodeFile="XYZ.aspx.vb" Inherits="XYZ" >

于 2012-05-07T13:06:42.033 に答える
1
<%@ Page Language="vb" AutoEventWireup="false" CodeFile="projectpartlog.aspx.vb" Inherits="Project_and_Partners_Log" %>

このディレクティブの意味:

  1. 「コードビハインド」のファイル名は次のようになりますprojectpartlog.aspx.vb
  2. ファイル内のクラス名は次のようにprojectpartlog.aspx.vbなりますProject_and_Partners_Log

    Partial Class Project_and_Partners_Log
        Inherits System.Web.UI.Page
    
        Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    
        End Sub
    
        Protected Sub cmdPartnerInfo_Click(sender As Object, e As System.EventArgs) Handles cmdPartnerInfo_Click.Click     
    
          'Code.....
    
         End Sub
    
    End Class
    
于 2012-05-07T14:27:44.200 に答える
0

ボタンをプライベートに変換したと思います 新しいボタンを追加して削除してから試してください。

于 2012-05-07T13:07:32.413 に答える