如何从我的模型中的剑道编辑器中获取价值

Posted

技术标签:

【中文标题】如何从我的模型中的剑道编辑器中获取价值【英文标题】:How to get the value from a kendo Editor in my model 【发布时间】:2013-01-02 12:54:14 【问题描述】:

我正在尝试在我的 ASP.NET MVC 应用程序中使用 Kendo UI 编辑器控件。直到现在都没有成功,因为我无法将编辑器中的值返回到控制器中的模型。

我的模型很简单(在我的网站上编辑一个html页面):

public class EditedPage

public string Name  get; set; 
public string Title  get; set; 

[AllowHtml]
public string Content  get; set; 

我的观点包括这段代码:

@model Page

<h2>@Model.Title</h2>
@using (Html.BeginForm())

    @Html.HiddenFor(m => m.Name)
    @Html.HiddenFor(m => m.Title)

    @(Html.Kendo().EditorFor(m => m.Content)
    .Name("Editor")
    .HtmlAttributes(new  style = "width:800px;height:600px;margin-left:20px;" )
    )

    <div>
        <input type="submit" value="@Resources.StringResources.Save" class="k-button"/>
    </div>

我希望控制器中的 post 方法可以填充模型。如果我为名称和标题添加简单的编辑器(在示例代码中它们是隐藏的),它工作正常,但内容总是返回为空。

这是我的控制器方法:

[HttpPost]
public ActionResult EditPage(Page page)

if (!ModelState.IsValid)
 return View(page);

//save content in a file

return View("CustomPages");

我错过了什么?我想我需要一些javascript来从编辑器中获取值,但我不知道如何实现它。

欢迎任何帮助。谢谢

【问题讨论】:

【参考方案1】:

将您的编辑器命名为“内容”。真的。 :)

编辑

@model Page

<h2>@Model.Title</h2>
@using (Html.BeginForm())

    @Html.HiddenFor(m => m.Name)
    @Html.HiddenFor(m => m.Title)

    @(Html.Kendo().EditorFor(m => m.Content)
    .Name("Content")
    .HtmlAttributes(new  style = "width:800px;height:600px;margin-left:20px;" )
    )

    <div>
        <input type="submit" value="@Resources.StringResources.Save" class="k-button"/>
    </div>

【讨论】:

建设性反馈是可以的,但你不妨自己解释一下。这根本没有帮助。 它成功了。现在看来我必须对返回的 HTML 进行编码。为什么会造成名称问题? 这只是剑道的一个怪癖,名称是模型中的哪个字段被赋予了剑道工作深度的值。由于您使用的是 EditorFor,因此您甚至可能无法使用 .Name ,然后优先级应该落在指定的字段上——我认为。我总是明确地命名,但只是为了确定。 删除 .Name() 对我有用。没有将编辑器命名为“内容”。 我在最近的版本中没有遇到过这个问题,不确定是哪一个发生了变化——可能一年多了。现在,如果你使用 EditorFor,就像乔提到的那样,不要同时使用 .Name()。【参考方案2】:

我遇到了同样的问题,在使用和 EditorFor 时我可以解决这个问题的唯一方法是根本不填充 Name 属性。

【讨论】:

以上是关于如何从我的模型中的剑道编辑器中获取价值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jquery 函数编辑剑道网格中的特定绑定列

如何制作可编辑的假剑道网格特定列?

禁用剑道网格中的编辑

如何从编辑器中排除不在数据源中的剑道网格字段?

如何自动更新剑道网格?

剑道编辑器:如何在剑道编辑器中插入图像?