2013-05-09 27 views
0

我目前正在使用我的班級圖。類圖aspx

我的項目有一些類(例如:User.cs,Friend.cs,Message.cs)。

而且我也有一些.aspx和.ascx(web用戶控件)文件,它們也有類,例如:ShowFriends.ascx有一個ShowFriends.ascx.cs類。

我想知道的是:我需要在ShowFriends.ascx.cs類的類圖中創建一個類嗎?或者是不允許的,因爲它是.ascx文件的一部分?如果我不這樣做,我會錯過班級圖中的很多東西。

如果允許:我怎樣才能在類圖中使用ShowFriends.ascx.cs文件分隔Friend.cs?由於Friend.cs文件只包含一些屬性,並且ShowFriends.ascx.cs文件具有類似ShowFriends()的方法。如果我在User和Friend.cs和ShowFriends.ascx.cs之間創建關係,它看起來很奇怪。

對我來說,有一個名爲Friend.cs的類或者其中包含所有屬性和方法的東西(方法類似ShowFriends())更合乎邏輯,但我沒有那樣做,因爲我需要在其中創建一些方法。 ascx.cs文件因爲使用了Request.QueryString [「用戶名」]。

在此先感謝!

回答

1

最好的做法是在一個單獨的文件中定義所有的類。如果您擔心訪問請求對象,則仍然可以在.ascx文件外執行此操作。

只要你的項目引用System.Web你可以這樣訪問:

string user = HttpContext.Current.Request["Username"]; 

我不會把ascx.cs文件的類圖中。在類圖中,您要定義域模型,而不是您的UI。

+0

感謝您的回答,所以您推薦我將我的ShowFriends()方法從Web用戶控制文件轉移到我的普通Friend類中?但如果我這樣做,那麼我不能訪問我的ShowFriends.ascx文件中的中繼器... – Swag 2013-05-09 19:19:39

+0

如果您正在訪問該方法內的中繼器,則應該將其保留在那裏。我的意思是,你在類圖中並不需要這種方法。總體而言,您應該儘量在.ascx中儘可能少地使用代碼,並將任何邏輯推送到構成類圖 – Kenneth 2013-05-09 19:21:15

+0

的其他類中。非常感謝。如果在我的類圖中沒有ShowFriends()或AddFriend(),它應該不是很奇怪嗎? – Swag 2013-05-09 19:23:52