0

只是在 MVC3 和 JQuery 方面学习我的方式,我需要做一些相当高级的事情,但我认为其他人以前没有做过任何事情。因此,如果您能指出我正确的方向,那就太好了。

我有一个包含作者列表的文本框,我已设法使用数据库中的自动完成列表填充这些作者(Oracle 使用 EF4)。也很好。但我需要在此基础上再接再厉。

在此处输入图像描述

基本上用户需要:

  • 选择 1 个或多个作者(自动完成)
  • 选定的作者应该以某种方式持久化(例如列表等)
  • 用户需要能够删除已添加的作者。
  • 如果用户添加了不在列表中的作者,则需要以某种方式将其指定为新用户(至少我需要在代码中知道),并且应该适当地将其插入作者表中。
  • 在后台,我需要保留一个带有作者姓名的 ID 链接(来自数据库),以便我可以正确更新数据库。这可能是对前面观点的回答的一部分,因为新作者没有 ID,所以插入语句。

希望这是有道理的,我不认为这很复杂,只是我不知道在哪里看和一些代码提示:)

更新

因此,经过一番寻找——我想我找到了一个不错的插件,它可以完成我想要的绝大多数工作——它叫做 tokenInput。尚不确定如何格式化 JSON,因为它需要特定格式,也不确定指定新作者。但现在只好试一试......

http://loopj.com/jquery-tokeninput/

4

1 回答 1

0

为了格式化为 Json,您可以创建一个新的匿名对象集合,然后将其序列化为 json,我这样做是这样的:

var anonymousList= from t in db.YourTable 
                                 where ... something ....
                                 select new
                                 {
                                     id=t.id,
                                     name=t.name
                                 };
var serializer = new JavaScriptSerializer();
var serialized = serializer.Serialize(anonymousList);
return View(new ViewModel { Serialized = serialized });

然后你应该将你的 json 返回到你的视图中,我通常会在我的 ViewModel 中添加一个参数。然后你需要将该字符串分配给一个 javascript 变量:

<script>
    var myVariable = @Html.Raw(Model.Serialized);
</script>
于 2012-05-30T16:06:35.373 回答