我需要在Asp.net MVC中構建一個應用程序,其中用戶將在視圖中呈現數據,如表格。現在用戶需要能夠向表中添加新列,然後輸入新列的數據並保存。我的問題是如何動態添加列,以及如何將這些數據保存在後端?如何在運行時添加新列?
任何建議,意見或現有項目的鏈接做類似的讚賞。
我需要在Asp.net MVC中構建一個應用程序,其中用戶將在視圖中呈現數據,如表格。現在用戶需要能夠向表中添加新列,然後輸入新列的數據並保存。我的問題是如何動態添加列,以及如何將這些數據保存在後端?如何在運行時添加新列?
任何建議,意見或現有項目的鏈接做類似的讚賞。
這隻能用一些動態AJAX來完成。您將而不是能夠爲新列創建視圖模型或使用助手;並且必須使用javascript收集數據(在使用javascript或jQuery動態顯示新列之後),然後放入JSON數組併發布到動作,然後動作使用現有數據庫上下文直接執行SQL向現有表添加一行的腳本(可以說安全風險?),然後插入從JSON發佈的數據,並以某種方式將其與任何其他數據表示的相關聯。
你最好隱藏一些列,然後讓用戶選擇通過某種選擇來「添加」它們。這樣,您就可以在數據庫中擁有這些列,並且您不必擔心惡意用戶會通過注入破壞數據庫。
我沒有考慮它形成veiw的注入點,這是有道理的。 – 2012-04-16 20:20:08
一種可能的方式是通過ajax和jquery。你可以給用戶一種通過鏈接添加新列的方法,如果它總是隻有一次,請在html中包含該列,但將其設置爲隱藏,然後將其切換爲可見。如果它不止一列,那麼你必須在表中的最後一列包含一個類,然後在此之後使用jquery添加一個額外的列。
將數據發回數據庫將會是更大的挑戰。再次,如果它是一個單一的列,那麼你可能可以將它包含在視圖模型中並隨時進行填充,但如果它是多列而不是固定數量,那麼你將不得不做一些棘手的JSON來將其發回數據庫。
你的權利這是保存我困惑的數據。 – 2012-04-16 20:31:13
你應該發佈你迄今爲止得到的。我們應該從頭開始寫一切嗎? – gdoron 2012-04-16 19:57:57
你的問題太廣泛了。你需要幾件事情;用戶指定新列的方式,將列添加到數據庫的方式,用戶使用新列執行數據輸入的方式以及該列自動出現在新呈現的數據中的方式。另請參閱http://en.wikipedia.org/wiki/Inner-platform_effect – 2012-04-16 20:03:22
我在尋求一些指導,因爲我不知道如何解決這個問題。 – 2012-04-16 20:15:38