iT邦幫忙

0

ASP.net C# 找不到類型或命名空間

最近從VB轉戰C# 在改寫之前的程式時出現錯誤

是想把function寫在App_Code底下的BindBranchList.cs
然後可以在不同頁面去呼叫那隻function
之前在VB這樣做都很正常 不知道在C#是不是有少設定什麼

老問題了 但是我google不到解法...
請大家幫忙看一下 謝謝
https://ithelp.ithome.com.tw/upload/images/20210114/201312629WSVDG2Q5H.png

https://ithelp.ithome.com.tw/upload/images/20210114/20131262h1iW8kMxnQ.png

https://ithelp.ithome.com.tw/upload/images/20210114/20131262Hx3u3jNu7a.png

看更多先前的討論...收起先前的討論...
在主頁裡面你有宣告new BindBranchList 的引入嗎?
然後在App_Code的共用class裡面的BindBranchList的回傳~你宣告void(不回傳任何內容的意思) 編譯錯誤就跟你說錯誤問題了@@..
所以你要宣告BindBranchList要回傳DataTable的回傳宣告吧?
Zed_Yang iT邦新手 3 級 ‧ 2021-01-14 15:59:20 檢舉
public Datatable BindBranchList(String RoleCode,String RoleUnit,String BranchRole,String Legal)
{
}

你的方法忘記宣告要回傳甚麼型態
itbubble iT邦新手 5 級 ‧ 2021-01-14 16:06:08 檢舉
@純真的人 不好意思,"宣告new BindBranchList 的引入" 這個可以再說明清楚嗎?
@Zed_Yang 謝謝提醒~
因為BindBranchList不是系統內定的設定
所以你要宣告new BindBranchList引入@@..
因為我只寫VB~所以在VB的裡面~我的是這樣寫的

Public func As Object = New func '宣告自定義的函數
在...這裡面使用func自訂回傳(概略表示法)
Protected Sub Page_Load .....
ds = func.Data_OP("MSSQL", Sql, "select")
End Sub

所以你參考我的寫法就知道了吧~
因為我對C#不習慣寫法~只能用VB寫法~
Homura iT邦高手 1 級 ‧ 2021-01-15 10:38:39 檢舉
new 是建立物件的意思
建議去學一下物件導向的觀念喔....

2 個回答

0
player
iT邦大師 1 級 ‧ 2021-01-14 21:38:11

https://docs.microsoft.com/zh-tw/dotnet/csharp/programming-guide/namespaces/using-namespaces

App_Code底下的BindBranchList.cs
自訂一個namespace名稱包起來

要用的地方
最前面在 using 你的namespace名稱

這樣看得懂嗎?

0
kondic
iT邦新手 5 級 ‧ 2021-01-19 18:23:40

樓上一堆前輩沒點出問題欸....
BindBranchList(String RoleCode,String RoleUnit,String BranchRole,String Legal) 這段是你設計的物件BindBranchList的建構式,是產生物件時初始化物件的地方,不能像方法一樣回傳任何值啊!

你要額外建立一個方法去寫 BindBranchList(String RoleCode,String RoleUnit,String BranchRole,String Legal) 內的內容,並記得宣告datatable去接.

public BindBranchList
{
    public BindBranchList()
    {
        ///這裡是建構式,建構物件並初始化這物件須要的屬性
    }
    
    public Datatable GetData()
    {
        //物件要連接sql或產生datatable的code 可以寫這
        DataTable dt = new DataTable();
        return dt;
    }
}

有時間可以把C# OOP概念,至少物件的基礎概念 包含建構式,屬性等相關文件閱讀一番

我要發表回答

立即登入回答