我正在使用ASP.NET MVC,我希望所有用户输入的字符串字段在插入数据库之前进行修剪.由于我有很多数据输入表单,我正在寻找一种优雅的方法来修剪所有字符串,而不是明确地修剪每个用户提供的字符串值.我很想知道人们如何以及何时修剪弦乐.
我想也许创建一个自定义模型绑定器并修剪那里的任何字符串值......这样,我所有的修剪逻辑都包含在一个地方.这是一个好方法吗?是否有任何代码示例执行此操作?
Asp.net-MVC现在允许隐式绑定DateTime对象.我有一个行动
public ActionResult DoSomething(DateTime startDate)
{
...
}Run Code Online (Sandbox Code Playgroud)
这成功地将字符串从ajax调用转换为DateTime.但是,我们使用日期格式dd/MM/yyyy; MVC正在转换为MM/dd/yyyy.例如,使用字符串'09/02/2009'提交对操作的调用会导致DateTime为'02/09/2009 00:00:00',或在我们的本地设置中为9月2日.
我不想为了日期格式而滚动我自己的模型绑定器.但是,如果MVC能够为我执行此操作,则无需更改操作以接受字符串然后使用DateTime.Parse.
有没有办法改变DateTime的默认模型绑定器中使用的日期格式?默认型号绑定器不应该使用您的本地化设置吗?
我在ASP.NET MVC应用程序中编写了一些自定义模型绑定器(实现IModelBinder).我想知道对它们进行单元测试的好方法(粘合剂)?
我有一个表格需要填充2个模型.通常我在表单post post上使用ModelBinderAttribute,即
[Authorize]
[AcceptVerbs("POST")]
public ActionResult Add([GigBinderAttribute]Gig gig, FormCollection formCollection)
{
///Do stuff
}
Run Code Online (Sandbox Code Playgroud)
在我的表单中,字段的名称与模型属性相同...
但是在这种情况下,我有2个不同的模型需要填充.
我该怎么做呢?有任何想法吗?可能吗?
我在Backbone.js Marionette项目中使用Backbone.ModelBinder.我有一个场景,我无法弄清楚如何使用ModelBinder自动更新我的模型/ UI.
我的模型有一个'status'字符串属性,有多个状态.在这个例子中,我将展示两个代码:'很快','某天'
在我的UI中,我有一个列表,我使用click事件来设置模型状态,并更新类以突出显示UI中的相关链接.
<dd id="status-soon"><a>Soon</a></dd>
<dd id="status-someday" class="active"><a>Someday</a></dd>
events: {
'click #status-soon': 'setStatusSoon',
'click #status-someday': 'setStatusSomeday'
},
setStatusSoon: function () {
this.model.set('status', 'soon');
this.$el.find('.status dd').removeClass('active');
this.$el.find('#status-soon').addClass('active');
},
... etc
Run Code Online (Sandbox Code Playgroud)
感觉就像我这样做是一个冗长而笨重的方式!代码膨胀随着我需要支持的状态数量而增加.使用ModelBinder获得相同结果的最佳方法是什么?
asp.net-mvc ×4
asp.net ×2
backbone.js ×1
datetime ×1
formatting ×1
localization ×1
marionette ×1
unit-testing ×1