【问题标题】:ASP.net MVC Tempdata getting DataSet's values out of itASP.net MVC Tempdata 从中获取 DataSet 的值
【发布时间】:2017-03-30 18:18:23
【问题描述】:

大家好,我是 MVC 世界的新手,想从我制作的 TempData 中获取一些值,其中包含 3 个 DataSet。

TempData 中的值如下:

然后选择 tTrip,然后选择 rows,然后选择 Results View:

终于看到了 tTrip 的 DataSet 值:

我这样填充 TempData(简化):

allData.Merge("tEvents"); //Gathers data and places it into tEvents
allData.Merge("tTrip"); //Gathers data and places it into tTrip
allData.Merge("tExternalTrainingMain"); //Gathers data and places it into tExternalTrainingMain

TempData["jsonData"] = allData;

我试过了:

string blah = TempData["jsonData"][0]["somename"].toString();

string blah = TempData["jsonData"][0].somename.toString();

string blah = TempData["jsonData"][0][0].somename.toString();

string blah = TempData["jsonData"][0][0][0].toString();

但只会得到错误。从 TempData 数组中获取数据集值的正确方法是什么?

DavidG 的更新

【问题讨论】:

    标签: c# asp.net asp.net-mvc dictionary tempdata


    【解决方案1】:

    为您提供来自TempData 的值的indexed property 返回一个object 类型的对象。您需要将您的值转换为所需的类型。例如:

    var myDataSet = TempData["jsonData"] as DataSet;
    if(myDataSet != null)
    {
        We have a dataset now!
        string blah = myDataSet.Tables[0]["somename"].toString();
    }
    

    【讨论】:

    • 嗯,我得到了错误 Cannot apply indexing with [] to an expression of type 'DataSet' on the myDataSet[0] 部分?
    • 那么你可能需要Tables 属性,这完全取决于你——我不知道你的DataSet 结构是什么。
    • 我已经更新了我的 OP,向您展示了其中的数据集结构。
    • 你现在有了智能感知和调试,我不知道你现在还想让我添加什么?
    • 我似乎无法通过第一个 [0]。我尝试 [0]["tTrip"] 但这不起作用。 [0].tTrip 而且那也行不通……等等等等
    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多