|
1
1
这里有点奇怪。 model.firstname不应为空;模型绑定器足够智能,可以将空输入字段(textbox)设置为“”。确保您的属性名称在模型和使用的文本框之间匹配。 您使用的是哪种版本的MVC?1还是2?我在VS 2008中运行MVC 1版本,唯一能使firstname为空的方法是完全不将其包含在表单中。 我可以看到,如果您的初始get edit视图抛出了这个错误,并且在您的DBML和数据库中将firstname设置为nullable,但是由于它是一个post,所以我现在不理解它。;) 更新: 我已经确认: 使用空表单:
哦…这会破坏很多代码… 代码:
VS 2008 - MVC 1
没有干净的自动取款机。模型绑定器实际上正在将这些属性设置为空。在构造函数中将First和Last设置为“”,并从绑定中排除这些属性:[bind(exclude=“firstname,lastname”)]它们保持为“”。 这里有文件记录吗? |
|
|
2
1
尝试自定义ModelBinder。 看到这个: ASP.NET MVC: Best way to trim strings after data entry. Should I create a custom model binder? |
|
|
3
0
在models.person中,默认值为string.empty,这至少会消除空错误。 如果您想让它自动化,那么您可以将其添加到DBML文件中。附加了一个designer.cs文件,每个字段都有一个getter和setter。如果愿意,可以在其中添加代码。 还可以基于表创建分部类,并在其中处理修剪。这意味着,如果您更改了DBML文件,那么您不会丢失所做的更改。 如果您不使用DBML文件,请通知我们。 编辑 如果在DBML文件中有一个名为Person的类,那么这个类已经声明为分部。 在同一个项目中创建另一个类,并执行如下操作:
从那时起,你可以用.newname代替name,它会被修剪掉。您还可以在其中添加代码,以确保它不为空、不为红色、不为任何内容,并返回适当的值。 |
|
|
4
-1
我不知道有什么扩展方法可以做到这一点,如果有人做到了,请告诉我。 我为可能为空的字段创建了一个简单的HTML助手。
然后在代码中可以使用
它可用于将来可以为空的字段,并且易于读取。 |
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 1 年前 |
|
|
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 1 年前 |
|
|
user764754 · 防止多行原始字符串文字中出现新行字符 1 年前 |
|
|
Bogaso · 从列表中返回与模式匹配的元素 1 年前 |
|
|
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 1 年前 |