2009-11-03 50 views
-1

設置場景:Web應用程序一次保存整個表格

.NET新手;從流水

ASP.NET MVC應用程序喝酒,SQL Server回到

編輯表中的瀏覽器與一個保存按鈕。

用戶可以右鍵單擊添加或刪除行。

表永遠不會超過約。 30排。

我的問題: 我保存按鈕上的所有內容,點擊按鈕,但會更好地保存行,AJAX風格,隨着用戶更新? 我不喜歡每行單獨按鈕的外觀,這就是我爲什麼這樣設計的原因。 這大多是UI問題嗎?我是否在這裏丟失了任何技術問題,例如大量保存行後端失敗?

此外,假設我一次保存整個表,是創建一個ADO DataTable對象還是隻是循環,插入/更新每一行,因爲我去調用存儲過程。我想我可以將LINQ添加到流水帳中,但這會使這個問題更加「可以回答」。

+0

還有一點信息:這是一個IntERnet應用程序。 – BillB 2009-11-03 19:05:58

+0

...共享主機... – BillB 2009-11-03 19:21:10

回答

1

您在這裏沒有大量數據,因此將所有30行保存在表的末尾是一種合理的方法。但是,您應該爲失敗做好準備,特別是如果您更改現有的行時,由於其他應用/用戶更改相同的數據而更經常失敗。只要確保您等待來自SQL服務器的確認已經提交了更改。

+0

謝謝,邁克爾,它看起來像我現在堅持我的計劃。 – BillB 2009-11-03 19:20:00

-2

假設你有SQL2005,你可以用你所有的數據行建立一個XML文檔,然後調用一個存儲過程並將它傳遞給你的XML。然後存儲的proc可以一次保存所有的行。

+0

一個有趣的建議 - 我不知道爲什麼有人認爲它沒用。我會點擊回到0. – BillB 2009-11-03 19:08:40

+0

對不起,沒有足夠的信譽這樣做。 – BillB 2009-11-03 19:09:12

1

我之前用這些大表格視圖做過的事情是,當有人點擊他們想編輯的單元格時,運行一些ajax來顯示帶有該文本的文本字段,他們可以編輯,然後聽取onmouseout和enter按鈕發送ajax請求來修改單行。

當來自ajax調用的響應返回時,您可以添加工具提示或其它已保存的內容,然後將單元格更改爲新的val。

+0

嘿盧卡斯 - 我認爲這種方法,但被可能的互聯網延遲嚇跑。如果您是通過防火牆外的應用完成此操作的,那麼響應時間是否足夠? (我應該包括它在場景設置中是一個互聯網應用程序。) – BillB 2009-11-03 18:51:07

+0

這個特定的視圖表是Intranet。您可以使其工作 - 請參閱excel的谷歌文檔版本。這一切都取決於如此多的因素 - 延遲,地理位置,服務器,用戶,技術等等。這也取決於客戶對什麼感覺舒適:) – lucas 2009-11-03 21:19:29

相關問題