asp.net-mvc-3 – 使用EditorFor/TextBoxFor/TextBox助手的名称
发布时间:2020-12-16 00:29:18 所属栏目:asp.Net 来源:网络整理
导读:我使用Knockout-JS来将我的视图中的属性绑定到我的视图模型。 Knockout-JS使用一个名为“data-bind”的自定义属性,您必须附加到要绑定到其中的控件来查看模型对象。 例: input type='text' name='first-name' data-bind='value: firstName'/ 注意’data-bi
我使用Knockout-JS来将我的视图中的属性绑定到我的视图模型。 Knockout-JS使用一个名为“data-bind”的自定义属性,您必须附加到要绑定到其中的控件来查看模型对象。
例: <input type='text' name='first-name' data-bind='value: firstName'/> 注意’data-bind’属性。 在我的视图渲染中,我无法呈现具有此属性的文本框。我知道Html.EditorFor,Html.TextBoxFor和Html.TextBox帮助器都使用一个可以用来指定自定义属性的匿名对象。这个实现的唯一问题是C#不允许破折号作为变量名,所以这不会编译: 我唯一可以想到的是(在视图模型中): public class DataBindingInput { public string Value { get; set; } public string DataBindingAttributes { get; set } } public class MyViewModel { ... public DataBindingValue firstName { get; set; } .... } 和一个名为“DataBindingInput.cshtml”的视图模板: @model DataBindingInput <input type='text' data-binding='@Model.DataBindingAttributes' value='@Model.Value'> 唯一的麻烦是我失去了自动生成的输入名称,因此它不会在后端工作,因为模型绑定器不知道如何绑定它。 我该怎么做这个工作? 解决方法
感谢上面的Crescent Fish,看起来你可以使用下划线,MVC 3将会将它们转换为破折号,因为HTML属性名称中不允许使用下划线。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC – 能够处理数组的自定义模型绑
- asp.net – 可能导致XML解析错误:没有找到元素?
- asp.net-mvc-3 – 在Razor / MVC3中显示db的图像
- asp.net-core – 将命名空间添加到ASP.NET MVC 6中的所有视
- asp.net – 如何在ListView中使UpdatePanel工作?
- ASP如何将table导出EXCEL表格
- asp.net-mvc-3 – 跨域的SignalR
- asp.net-mvc – HTML5元素的“传说”太少了
- asp.net-mvc – 在MVC Razor中保留数据,而不在请求之间使用
- asp.net-mvc – MVC4“无法等待”
推荐文章
站长推荐
热点阅读