我遇到RazorGenerator的问题:它无法编译使用我的自定义助手的视图:
App_Code文件/ ViewHelper.cshtml
@helper test(System.Web.Mvc.HtmlHelper html)
{
<h4>Test</h4>
}
Run Code Online (Sandbox Code Playgroud)
查看/ Test.cshtml
(...)
@ViewHelper.test(this.Html)
(...)
Run Code Online (Sandbox Code Playgroud)
当我尝试编译我的项目时,我得到Test.cshtml的这个错误:
"ViewHelpers"这个名称在当前上下文中不存在
我尝试将各种命名空间添加到我的Views/web.config文件中:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Optimization" />
<add namespace="MyProject" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="MvcSiteMapProvider.Web.Html" />
<add namespace="MvcSiteMapProvider.Web.Html.Models" />
</namespaces>
</pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)
但没有成功......
我错过了一些应包含在此文件中的命名空间吗?如果没有,是否还有其他方法可以让RazorGenerator编译视图?此外,cshtml助手甚至存在于命名空间中吗?
我有这个带有guid id的集合.当我使用Azure Query Explorer并在上面的组合框中选择了集合时,它可以:
SELECT * FROM c
Run Code Online (Sandbox Code Playgroud)
但是当我尝试选择它时(来自查询exlorer和c#代码):
SELECT * FROM 357fa002-dc7d-4ede-935a-6a0c80cf9239 c
Run Code Online (Sandbox Code Playgroud)
我明白了:
语法错误,无效数值标记'357fa002'.
我试过把它放在guid附近的引号(单引号和双引号)但没有成功..
Microsoft文档声明此集合ID不会破坏任何规则:https: //docs.microsoft.com/pl-pl/azure/documentdb/documentdb-create-collection
集合名称必须介于1到255个字符之间,并且不能包含/ \#?或尾随空间
如何使用它的id查询此集合?
我在DocumentDB文档中找到了这段代码:
SalesOrder readOrder = (SalesOrder)(dynamic)response.Resource;
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下C#如何知道如何将动态对象转换为SalesOrder类的这个对象?我尝试过这种天真的方法,但它不起作用:
class SampleClass { public string Name { get; set; } }
object o = new { Name = "test" };
SampleClass casted = (SampleClass)(dynamic)o; // this won't work
Run Code Online (Sandbox Code Playgroud)
我需要做什么才能以与链接示例中相同的方式进行转换?