关于MVC中无法将类型为“System.Int32”的对象强制转换为类型“System.String”的问题。

关于MVC中无法将类型为“System.Int32”的对象强制转换为类型“System.String”的问题。

出现这种问题会导致在调用方法的时候传递模型不能调转到方法。遇到这个问题的时候也把我捣鼓了很久,原因就是无法进入到断点,进行调试也找不到根本的原因。最后想到了模型当作参数的时候都需要先进行模型验证,结果就出现了这种问题。以后尽量少ctrl+c…….
错误界面
主要问题出在MVC的强大之处。模型验证时误在Int类型属性上加入了[StringLength(20,ErrorMessage=”“)]
例如
处理:将StringLength去掉就行了。

在ASP.NET MVC,如果你有一个`List<WaiMaiBin.Models.BTakecashs>`列表,并想要将其转换为`System.Data.DataSet`,你可以按照以下步骤操作。假设`BTakecashs`类有适当的属性,可以映射到DataSet的表格。首先,你需要创建一个DataAdapter和DataTable: ```csharp using System; using System.Collections.Generic; using System.Data; using WaiMaiBin.Models; public class BTakecashsDataAdapter : SqlDataAdapter { private List<BTakecashs> bTakecashsList; public BTakecashsDataAdapter(List<BTakecashs> list) { bTakecashsList = list; // 创建DataTable并填充数据 DataTable dataTable = new DataTable("BTakecashs"); dataTable.Columns.Add("Column1", typeof(string)); // 添加列,替换为实际的列名和类型 dataTable.Columns.Add("Column2", typeof(int)); // ... 其他列 foreach (BTakecashs item in bTakecashsList) { DataRow newRow = dataTable.NewRow(); newRow["Column1"] = item.Column1; // 替换为实际的字段 newRow["Column2"] = item.Column2; // ... 填充其他字段 dataTable.Rows.Add(newRow); } // 设置Adapter的数据源 this.SelectCommand = new SqlCommand("", null); // 这里只是一个占位符,需要根据实际情况设置SQL查询 this.SelectCommand.CommandTimeout = 0; // 如果有连接池,可以设置CommandTimeout防止阻塞 this.Fill(dataTable); } } // 然后在User.aspx.cs文件,例如某个方法里 List<BTakecashs> bTakecashsList = ... // 从数据库或其他地方获取数据 BTakecashsDataAdapter adapter = new BTakecashsDataAdapter(bTakecashsList); DataSet dataSet = new DataSet(); adapter.Fill(dataSet);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值