2016-09-28 59 views
-5

創建一個aspx頁面我希望得到有關如何創建從後臺代碼(C#)動態asp.net頁面方向。 例如,用戶上傳一個名爲「爲Flower.jpg」的畫面,我想創建一個將被命名爲「flower.jpg.aspx」定製的和動態的asp.net頁面。 我不知道該怎麼做,我真的需要一個方向。從C#代碼

+0

我們不是在這裏爲你寫你的工作 –

+0

請在這裏發佈你的問題只涉及到你的編程! –

+0

首先分析你的任務和你需要解決的問題。你有一個文件上傳,你需要存儲在數據庫中。創建一個包含圖片的通用頁面,並將附加信息存儲在數據庫中,並用標籤顯示,這些標籤將由控制器加載信息。並不總是最明顯的答案是你需要做的。 – Gnqz

回答

1

首先,我不認爲你需要創建一個新的頁面,這是一個相當簡單的問題,如果您使用以下方法來解決:

  • 採取的事實優勢您可以在ASP.NET進行動態操作
  • 上傳的所有文件到一個數據庫,文件等,並保持他們

  • 參考創建一個類,將包含元數據上傳

  • 當需要數據,調用一個頁面,如果你想要的鏈接,以反映照片的名稱,顯示用戶已上傳的項目(例如名稱,位置,時間等)
  • 用戶ASP.NET Routing的元數據
0

你不應該爲每個圖像創建aspx頁面,因爲如果你這樣做,你將不得不把你的虛擬目錄aspx頁面,這將導致站點重新啓動。

您可以將圖像保存到數據庫或文件系統和存儲圖像屬性,如擴展,文件名,大小在數據庫中有一個頁面列出的圖像,另一個頁面查看圖像細節。

詳細信息頁面將有<img src="URL to the Image"/>標籤,該標籤將顯示圖像和其他一些屬性。

如果必須擁有帶.aspx擴展名的頁面,那麼如果您使用的是MVC,則可以使用路由,您將擁有一個MVC控制器和動作,但是您將在形狀中有一個路由:{controller }/{行動}/{}像.ASPX

+1

我懷疑他在談論URL重寫 – Ted

0

通過檢查你的描述我想你想要做的是創造一些照片庫頁。您可以在這些資源感興趣:

http://www.codeproject.com/Articles/14290/Simple-Photo-Gallery-With-ASP-NET-2-0 http://weblogs.asp.net/bleroy/a-simple-asp-net-photo-album http://www.codeproject.com/Articles/21075/Gallery-Server-Pro-An-ASP-NET-Gallery-for-Sharing

在web.config的setpath到你的圖像:

<appSettings> 
    <add key="PicRootPath" value="~/PICStore/"/> 
    <add key="PicRootDefaultPath" value="~/PicStore/Default/" /> 
</appSettings> 

創建一個類ContentInfoLoader如:

Configuration rootWebConfig = 
    WebConfigurationManager.OpenWebConfiguration("~/"); 
if(0<rootWebConfig.AppSettings.Settings.Count) 
{ 
    KeyValueConfigurationElement picRootElement = 
     rootWebConfig.AppSettings.Settings["PicRootPath"]; 
    if(null!=picRootElement) 
    { 
     _picRootPath=picRootElement.Value; 
    } 

    picRootElement = rootWebConfig.AppSettings.Settings["PicRootDefaultPath"]; 
    if (null != picRootElement) 
    { 
     _picRootDefaultPath = picRootElement.Value; 
    } 
} 

然後獲取圖像的方法:

public string[] GetGalleryPaths(string picRootRealPath) 
{ 
    if (Directory.Exists(picRootRealPath)) 
    { 
     return Directory.GetDirectories(picRootRealPath); 
    } 
    else 
    { 
     return null; 
    } 
} 

public string[] GetPhotoList(string galleryName, string picRootRealPath) 
{ 
    string galleryPath=picRootRealPath + "\\" + galleryName + "\\pics"; 
    if (Directory.Exists(galleryPath)) 
    { 
     return Directory.GetFiles(galleryPath,"*.JPG"); 
    } 
    else 
    { 
     return null; 
    } 
}