Kendo MVC UI 带有多行文本的 TreeList
Kendo MVC UI TreeList with multi-line text
我将文本区域作为 EditorTemplate (StringTextArea.cshtml) 添加到 TreeList。
@model string
@(Html.TextAreaFor(m => m, new { @class = "k-input k-textbox" }))
型号class
public class LevelViewModel
{
public int Id { get; set; }
public string LvlName { get; set; }
[UIHint("StringTextArea")]
public string LvlType { get; set; }
}
TreeList 在编辑模式下添加文本区域,我将 LvlType 中的“\n”替换为“<br />
”,然后再将其保存到 SQL Server 2008
LvlType = lvl.LvlType.Replace("\n", "<br />")
但它在 TreeList 中按原样显示字符串。
有什么办法可以让 TreeList 显示带换行符的字符串?
谢谢
我第一个替换编码 <br />
的想法实际上使它变得比它必须的更复杂:(。
最佳解决方案是制作模板:
模板:“#=LvlType#”
使用#=#时不编码,使用#:#时编码!
我的测试:Telerik dojo
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/treelist/local-data-binding">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.mobile.min.css" />
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example">
<div id="treelist"></div>
<script>
$(document).ready(function () {
var dataSource = new kendo.data.TreeListDataSource({
data: [
{ id: 1, Name: "Daryl <br/>Sweeney", Position: "CEO", Phone: "(555) 924-9726", parentId: null },
],
schema: {
model: {
id: "id",
expanded: true
}
}
});
$("#treelist").kendoTreeList({
dataSource: dataSource,
height: 540,
columns: [
{ field: "Position" },
{ field: "Name", template: "#=Name#" },
{ field: "Phone" }
]
});
});
</script>
</div>
</body>
</html>
我将文本区域作为 EditorTemplate (StringTextArea.cshtml) 添加到 TreeList。
@model string
@(Html.TextAreaFor(m => m, new { @class = "k-input k-textbox" }))
型号class
public class LevelViewModel
{
public int Id { get; set; }
public string LvlName { get; set; }
[UIHint("StringTextArea")]
public string LvlType { get; set; }
}
TreeList 在编辑模式下添加文本区域,我将 LvlType 中的“\n”替换为“<br />
”,然后再将其保存到 SQL Server 2008
LvlType = lvl.LvlType.Replace("\n", "<br />")
但它在 TreeList 中按原样显示字符串。
有什么办法可以让 TreeList 显示带换行符的字符串?
谢谢
我第一个替换编码 <br />
的想法实际上使它变得比它必须的更复杂:(。
最佳解决方案是制作模板: 模板:“#=LvlType#”
使用#=#时不编码,使用#:#时编码! 我的测试:Telerik dojo
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/treelist/local-data-binding">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.mobile.min.css" />
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example">
<div id="treelist"></div>
<script>
$(document).ready(function () {
var dataSource = new kendo.data.TreeListDataSource({
data: [
{ id: 1, Name: "Daryl <br/>Sweeney", Position: "CEO", Phone: "(555) 924-9726", parentId: null },
],
schema: {
model: {
id: "id",
expanded: true
}
}
});
$("#treelist").kendoTreeList({
dataSource: dataSource,
height: 540,
columns: [
{ field: "Position" },
{ field: "Name", template: "#=Name#" },
{ field: "Phone" }
]
});
});
</script>
</div>
</body>
</html>