asp.net – 将可以为空的int绑定到asp:TextBox
发布时间:2020-12-16 07:08:33 所属栏目:asp.Net 来源:网络整理
导读:我有一个属性int? MyProperty作为我的数据源(ObjectDataSource)中的成员.我可以将它绑定到TextBox,比如 asp:TextBox ID="MyTextBox" runat="server" Text='%# Bind("MyProperty") %' / 基本上我想在TextBox中将空值显示为空白“”,将数字显示为数字.如果Tex
我有一个属性int? MyProperty作为我的数据源(ObjectDataSource)中的成员.我可以将它绑定到TextBox,比如
<asp:TextBox ID="MyTextBox" runat="server" Text='<%# Bind("MyProperty") %>' /> 基本上我想在TextBox中将空值显示为空白“”,将数字显示为数字.如果TextBox为空,则MyProperty应设置为null.如果TextBox中有一个数字,MyProperty应设置为此数字. 如果我尝试它,我会得到一个例外:“空白不是有效的Int32”. 但是我该怎么做呢?如何使用可空属性和绑定? 提前致谢! 解决方法
好吧,我找到了一个解决方案,其中包括一个FormView,但是你没有指定它是否适合你的场景.
无论如何,在我的情况下,DataBound-ed实体是我自己的dto(不是它应该重要),诀窍是当你更新formview时你必须基本上附加在pre-datatyound事件上并重新写入空string作为null值,以便框架可以将属性值注入构造的对象: protected void myFormView_Updating(object sender,FormViewUpdateEventArgs e) { if (string.Empty.Equals(e.NewValues["MyProperty"])) e.NewValues["MyProperty"] = null; } 并且类似地插入 protected void myFormView_Inserting(object sender,FormViewInsertEventArgs e) { if (string.Empty.Equals(e.Values["MyProperty"])) e.Values["MyProperty"] = null; } 是什么让这真的很有趣的事实是错误信息(不是一个有效的Int32)实际上是错误的,它应该写(不是一个有效的Nullable),但那么nullables将是一流的公民不是吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp中select(下拉菜单)如何同时获取value和text的值(亲测+转
- 如何在asp.net c#中计算网站访问者数量
- Asp.Net – 什么是<%$?
- 如何从TeamCity预编译ASP.NET Web应用程序?
- asp.net – 未在生产服务器中的WCF调用上传递凭据
- asp.net-mvc – ASP.NET MVC的Windows Azure存储模拟器连接
- asp.net-mvc-3 – ASP.NET MVC 3和App_Code文件夹
- ASP.NET Web Service中XML文档中的非法字符
- asp.net-mvc – 如何在Ajax窗体的asp.net mvc中提交下拉列表
- asp.net – 使下拉列表项不可选
推荐文章
站长推荐
- .net-core – 存储Azure Vault客户端ID和客户端密
- 构建高性能ASP.NET应用的几点建议
- asp.net-mvc-4 – ASP.NET MVC ViewModel继承问题
- asp.net – 是否有复杂的aspnet UI验证的设计模式
- asp.net-mvc-3 – 与ASP.NET MVC 3中的视图页面不
- 如何使用ASP.NET MVC项目启动Azure模拟器
- asp.net-mvc – Html.Actionlink作为Button效果
- Asp.NEt邮箱验证修改密码通过邮箱找回密码功能
- asp.net-mvc – ASP.NET Actionlink与glyphicon和
- 单元测试 – ASP .NET Web API控制器测试
热点阅读