好的,我可以使用jeditable在页面上编辑一些内容,并将内容保存到数据库中。但是最好的方法是从db中获取文本内容以显示到占位符?
p id="paraNo34" class="editable" -->What i will write here so that it will get content from a db's table: [Content], where id=="paraNo34". /p
问题是我是否会使用一些像
这样的硬编码文本p id="paraNo34" class="editable" -->Some text here /p
我可以使用jeditable进行就地编辑,但是当我刷新页面时,它会显示相同的“Some here here”,因为它没有从db获取数据。
答案 0 :(得分:1)
您的伪代码意味着您希望视图负责获取所需的数据,这是MVC中的反模式。您需要检索控制器操作中的文本并将其传递给视图,使用ViewData
或自定义视图模型,例如:
public ActionResult Index(string id)
{
// call some method to fetch data from db
ViewData["ID"] = id;
ViewData["Content"] = content;
return View();
}
视图看起来像:
<p id='<%= ViewData["ID"] %>' class="editable">
<%= Html.Encode(ViewData["Content"]) %>
</p>
更好的方法是创建一个强类型的视图模型(Stephen Walther有一篇关于视图模型here的博客文章),但上面的例子应该说明如何将数据从控制器传递到视图