为了使用动态字段在运行时绑定到linq结果集的asp网格(因此我无法创建模板字段),我决定尝试序列化表格的结果并将其放入在gridview的排序事件中调用,反序列化,排序和反弹的视图状态。
不幸的是,在事实之后分配给新类型会产生错误无法隐式转换类型' string' to' int',但我无法弄清楚为什么/它会尝试这样做。
直到失败点的代码是:
string sSData = (string)ViewState["resultData"];
JavaScriptSerializer jSS = new JavaScriptSerializer();
dynamic dynObject = jSS.DeserializeObject(sSData);
var resultsdDS = new
{
Student_Forename = dynObject["Student_Forename"],
Student_Surname = dynObject["Student_Surname"]
};
dynObject中有正确的数据类型(有些是整数),但在选定的字段中没有,尽管错误表明它试图将字符串转换为int,反之则不然(并且这些字段在此测试中无论如何都没有分配)
任何可以帮助我理解正在发生的事情都会受到赞赏!