【问题标题】:Table cells are being stripped from partial view表格单元格正在从部分视图中剥离
【发布时间】:2014-03-17 15:58:41
【问题描述】:

我有一个 AJAX 调用,它用部分视图的内容替换表格行。

这里是 AJAX 调用的链接...

@Ajax.ActionLink("Create Promise",
"CreatePromise",
new { id = Model.bookings.bookingid },
new AjaxOptions
{
    HttpMethod = "POST",
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "insertedpromise",
    OnSuccess = "postmessage('Promise_Created_')"
},
    new { @class = "primaryButton" })

这是 AJAX 调用的目标...

<tr id="insertedpromise">
    <td></td>
</tr>
@if (Model.promises.Any())
{
    for (int i = 0; i < Model.promises.Count; i++)
    {
    <tr id="promise_@Model.promises[i].promiseid">
        @Html.Partial("_promises", Model.promises[i])
    </tr>
    }
 }

这里是部分...

@model salesModel.promise

    @using (Ajax.BeginForm(
        "UpdatePromise",
        new AjaxOptions
        {
            HttpMethod = "POST",
            InsertionMode = InsertionMode.Replace,
            UpdateTargetId = "UpdatePromises" + Model.promiseid.ToString(),
            OnSuccess = "postmessage('promise_Updated_')"
        }))
{
    string thisdivid = "UpdatePromises" + Model.promiseid.ToString();

    <div id="@thisdivid">
        @Html.Hidden("promiseid", Model.promiseid)
        @Html.Hidden("bookingid", Model.bookingid)
        @Html.Hidden("updatedate", DateTime.Now)
        <td>
            @Ajax.ActionLink(" ",
            "DeletePromise", new { promiseid = Model.promiseid },
            new AjaxOptions
            {
                Confirm = "Delete?",
                HttpMethod = "POST",
                OnSuccess = "postmessage('promise_Deleted_" + Model.promiseid + "')"
            }, new { @class = "buttondelete" })
            <input type="submit" class="promisebtn btnupdate" value=" " />
        </td>
        <td>@Html.EditorFor(m => m.monetary)</td>
        <td></td>
        <td>@Html.TextAreaFor(c => c.note)</td>
        <td>@String.Format("{0:d}", Model.updatedate)</td>
        <td>@Html.DisplayFor(c => c.updatedby)</td>
     </div>

}

尝试将插入的部分插入现有表很痛苦,但现在的问题是......

*当包含日期字段时 - 在这种情况下为 @Html.Hidden("updatedate", DateTime.Now) - 所有表格单元格都会从呈现的 html 中删除 *

似乎 MVC 注入的脚本以使用日历控件呈现输入字段是问题所在。有什么想法吗?

此外,还有许多 div 标签和其他细微之处的组合会导致同样的问题。在不同的场景下,渲染引擎渲染部分没有表格单元格

【问题讨论】:

  • 除非网站习惯于按字面意思显示“承诺”列表,否则我发现使用术语 promise(在 JQuery 中用于异步操作承诺)令人困惑(比平时更多):) 在这种情况下,什么是承诺?
  • 是销售人员对客户的承诺。我可以为 jquery 更改它,但在其他情况下也会发生这种情况。
  • 啊,如果是销售人员承诺,只需将它们全局重命名为 lies :) 感谢您的解释。

标签: jquery html ajax asp.net-mvc razor


【解决方案1】:

问题似乎是位于表格单元格之外的 div。我重新设计了一些东西以摆脱那些 div,并将除表格之外的所有内容都移动到表格单元格中。通过删除 div,我现在可以在两种情况下使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多