2010-02-28 73 views
0

編輯HTML控件我有一個Asp.net MVC的Web應用程序,內容主要是文本。我想將一個功能放入它中,以便管理員可以使用網絡輕鬆編輯文本/ html。可能會在頁面上雙擊並將其轉換爲可編輯並可保存。我該怎麼做?任何示例代碼?Asp.net MVC:用於管理

我需要這爲Asp.net MVC來完成。

+0

可以請你提供你需要做什麼的更多信息?你想編輯一個在線商店的產品列表嗎?我建議你爲此編寫一個單獨的控制器,因此將使用單獨的頁面。 – chester89 2010-02-28 10:13:23

+0

只是有5-6頁,每一頁含有10-15段落。我只想編輯n保存這些(只有管理員)。有許多基於jQuery的「就地編輯」插件可用,但不知道如何在網頁上永久保存數據。 – coure2011 2010-02-28 10:18:30

回答

2

使用jQuery Edit in Place插件的想法。

  • 確保你有一個排的每個段落數據庫表(也可以是一個XML文件或存儲結構化數據的一些其他手段)
  • 當渲染頁面,使每個<p>有一個類「可編輯的」
  • 當請求頁面的用戶是管理員,做一個

    $(文件)。就緒(函數(){ $( 'p.editable')編輯(...)。 });

  • 當管理員編輯文本,提交給這樣一個動作:

    公共JSONResult編輯(INT ID,字符串內容){ /*更新內容/ /返回從數據庫中的新文本(萬一出事了,該數據不會改變 - 你可以返回一個JSON數據結構發出錯誤信號*/ 返回JSON(newcontent);}

  • 插入的一段新的內容

+0

如何知道哪段被編輯? – coure2011 2010-03-01 08:51:00

+0

如果您使用的是與上面鏈接的jEditable插件,插件會將P的ID發送到服務器,因此您只需確保它具有可以從中確定段落的數據庫ID的id(也許somethink like id =「p_27」 - 在這種情況下,您應該將您的操作中的「int id」更改爲「string id」)。看看jEditable文檔,特別是id選項。 – Rune 2010-03-01 09:06:22

1

您將需要提供controller actions和相應ViewsEdit操作。然後,您可以通過使用Asp.Net提供Security基礎設施限制這個動作/操作僅管理員。

類似

public ActionResult Edit(int id) 
{ 
    var dataToEdit = (from c in _entities.ContactSet 
          where c.Id == id 
          select c).FirstOrDefault(); 

    return View(contactToEdit); 
} 

東西看一看本教程中,將給予它是如何工作

0

看看我的CodePlex項目@http://editregion.codeplex.com/。它幾乎可以完成你描述的內容,並將內容存儲在app_data文件夾中的xml文件中,可能足以滿足你的需要。