所以我尝试在 2sxc 18 中使用新奇的 TypedCode 东西。 但我想从查询中获取一些数据。 所以我第一次做了类似的事情:
var query = App.Query["EventDetailsByIds"];
query.Params("eventid",contactFormRequest["eventid"].ToString() );
query.Params("dateid",contactFormRequest["dateid"].ToString() );
var eventobject = AsList(query["EventInfo"]).First();
var dateobject = AsList(query["DateInfo"]).First();
这将在 2sxc 18 中给出错误。 如何调用查询并向调用添加参数?
有文档和示例(教程)说明了这一点。有一种新方法,
.GetQuery()
,它适用于强类型工具链。最简单的示例,假设您的查询返回与现有内容类型匹配的字段:
// Get all the products from a query (specific stream)
var myParams = new { CateogryId = catId };
var prodsInCategory = AsList<Product>(App
.GetQuery("CategoryDetails", parameters: myParams)
.GetStream("Products")
);
如您所见,
AsList<Product>()
正在将您的类型化结果转换为 StronglyTyped。
这是最新教程中使用 Params 的 GetQuery() 的附加示例,向下滚动到最后一个示例。
https://2sxc.org/dnn-tutorials/en/razor/tut/datasources-use