c# - 将无序列表中的数据与 C# 中的 POCO 一起或与 POCO 一起发回 Controller 操作

标签 c# jquery entity-framework-4 asp.net-mvc-4

我正在使用 FuelUX 创建一个 Pillbox,以便用户可以使用 javascript 添加关键字。 Javascript 从文本框中获取数据并将其添加到无序列表中。 除了这些关键字外,我还想添加一些我包装到 POCO 中并希望发布到服务器的字段。 现在显然我想将这些关键字与我的 POCO 一起发布,或者也将这些关键字包装到我的 POCO 中,在本例中为 DummyClass。

谁能告诉我怎么做?

这是我想要通过关键字和标题实现的目标的直观表示。 enter image description here

我的 Controller 代码:

public ActionResult Create()
{
    return View();
}

[HttpPost]
public ActionResult Create(DummyClass obj)
{
   // PROCESS OBJECT & LIST OF DATA OUT OF MY <UL>-control
}

我的查看代码:

@using System.Web.Optimization

@model Test.DummyClass

@{
    ViewBag.Title = "Index";
}

@section content
{
    <div class="editor-label">
        @Html.LabelFor(model => model.Title)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Title)
        @Html.ValidationMessageFor(model => model.Title)
    </div>

    <div id="MyPillbox" class="pillbox">
        <ul>
            <li data-value="foo">Item One</li>
            <li class="status-success">Item Two</li>
            <li class="status-warning">Item Three</li>
            <li class="status-important">Item Four</li>
            <li class="status-info">Item Five</li>
            <li class="status-success">Item Six</li>
            <li>Item Seven</li>
        </ul>
    </div>

    <input type="text" id="newTag" value="test"/>
    <input type="button" value="Add" id="btnAddTag"/>    

    <input type="submit"/>
}

@section scripts
{
    @Styles.Render("~/Scripts/fuelUX")

    <script>
        $(function() {

            $('#btnAddTag').click(function () {
                $('#MyPillbox ul').append('<li class="status-info">' + $('#newTag').val() + '</li>');
            });

        });
    </script>

最佳答案

如果您可以为每个药丸添加一个隐藏的 HTML 字段,您可能就可以开始了:

    $(function() {
        $('#btnAddTag').click(function () {
            $('#MyPillbox ul').append('<li class="status-info">' + $('#newTag').val() + '<input type="hidden" name="Tags" value="' + $('#newTag').val() + '" /></li>');
        });
    });

在 Controller 中,您可以将此模型用于您的操作方法:

public class SomeModel {
    public string Title { get; set; }
    public string[] Tags { get; set; }
}

关于c# - 将无序列表中的数据与 C# 中的 POCO 一起或与 POCO 一起发回 Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14092987/

相关文章:

c# - 当 json 中的 id 属性充当对象时创建 POCO

javascript - 在没有滚动条的情况下滚动 div 内容

.net - 使用更新的值在 Entity Framework 上下文中重新加载对象

c# - POCO 和 self 跟踪实体之间的区别

c# - 创建一个你可以在 RxCpp 中取消订阅的 Observable

c# - 无法在 WCF ServiceModel 客户端配置部分中找到元素

c# - 在连接字符串中为 DB2 查询指定模式/实例

javascript - 从 HTML 外部打开模态

javascript - 如何将插入符号设置为 contenteditable 中 Range 对象的最后一个字符?

c# - 非空对象上的 EF4 linq NullReferenceException