2012-04-20 79 views
2

我有一個SQL數據庫,用於保存我的頁面的記錄。在我的頁面上,我有一個詳細信息視圖,我想從我的數據庫中填充記錄。我可以填充記錄就好了,我需要能夠根據用戶從下拉框中選擇的內容填充記錄?根據用戶輸入填寫數據表

爲了澄清,我的主頁上有一個包含年份(即2011,2010,2009)的下拉列表,以及包含帳戶代碼(即六位數字)的下拉列表。根據用戶選擇的年份(例如2010)以及他們爲帳戶代碼選擇的內容(例如123456),我希望僅填寫2010年以及2010年的那些記錄的詳細信息視圖(位於單獨頁面上)賬戶代碼爲123456?

遠遠還沒有看到讓它工作的方法嗎?

+0

這可以完成,但首先我想問問詳細視圖是否可以移動到同一頁面上。它使得它更容易(但只是少量) – David 2012-04-20 20:10:12

+0

詳細信息視圖與帳戶代碼相同,但不是年份。我有多個頁面,並希望讓他們選擇1年,並將所有其他頁面的記錄以當年爲基礎。 – developthestars 2012-04-20 20:11:50

回答

1

基於來自表單控件的輸入來填充DetailsView實際上非常簡單。基本上使用控件來提供參數值以插入select語句的WHERE子句。

本質上,你定義你的SqlDataSource來獲取控制參數。

這裏還有文檔:http://msdn.microsoft.com/en-us/library/z72eefad.aspx

並與截圖這裏的一篇文章:http://www.asp.net/web-forms/tutorials/data-access/accessing-the-database-directly-from-an-aspnet-page/using-parameterized-queries-with-the-sqldatasource-vb

如果詳細信息視圖是一個不同的頁面上,你可以使用查詢字符串參數做同樣的事情,但讓你打開篡改。 (人們改變查詢字符串中的值以獲取他們不應該看到的記錄。)如果篡改不是您的具體情況的問題 - 數據本質上不敏感,那麼它不應該成爲問題,但它的東西要被意識到。

+0

非常感謝我會試試這個。 – developthestars 2012-04-20 20:21:42

+0

@developthestars - 我從我的答案中刪除了視頻鏈接,因爲這是實現它的「硬」方式IMO。該文章的截圖是你應該開始的地方,然後閱讀msdn文檔。 – David 2012-04-20 20:23:40

+0

+1:非常好的答案。 – 2012-04-20 21:30:53