You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kendo Dialog中嵌入Kendo DateTimePicker?(ASP.NET MVC版Kendo UI)

修复Kendo UI嵌套Dialog与DateTimePicker的语法错误

你的问题出在Dialog的.Content()方法无法直接嵌套Razor控件代码块,它需要接收HTML字符串或MvcHtmlString类型的内容。直接写@(Html.Kendo().DateTimePicker())会导致Razor解析器混乱,引发语法错误。

以下是修复后的完整代码,包含你需要的DateTimePicker、TextBox,以及「取消」「确认」按钮:

@(Html.Kendo().Dialog()
    .Name("MyModal")
    .Title("弹窗标题")
    .Content(@<text>
        <div class="k-form">
            <div class="k-form-field">
                <label class="k-label">选择日期时间</label>
                @(Html.Kendo().DateTimePicker()
                    .Name("dateTimePicker")
                    .Format("yyyy-MM-dd HH:mm")
                )
            </div>
            <div class="k-form-field">
                <label class="k-label">输入内容</label>
                @(Html.Kendo().TextBox()
                    .Name("inputTextBox")
                    .Placeholder("请输入文本")
                )
            </div>
        </div>
    </text>)
    .Width(400)
    .Modal(true) // 通常模态窗口建议设为true,避免背景误操作
    .Actions(actions =>
    {
        actions.Add().Text("取消").Action("function(){this.close();}");
        actions.Add().Text("确认").Primary(true).Action("function(){alert('确认操作触发'); this.close();}");
    })
)

关键修改说明:

  • 使用@<text>...</text>代码块包裹Content内的HTML和控件代码,Razor会自动将其解析为MvcHtmlString,避免语法错误
  • 新增Kendo TextBox控件,并用官方表单布局类(k-form、k-form-field)优化界面排版
  • 调整Actions为「取消」和「确认」按钮,分别绑定弹窗关闭和确认逻辑的JS函数
  • 可选:将.Modal(false)改为.Modal(true),符合常规模态窗口的交互逻辑

内容的提问来源于stack exchange,提问作者emrebener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 09:15:33