问题标签 [asp.net-webpages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - ASP.NET WebPages 如何实现无扩展 URL?
我想为我自己的构建提供者实现同样的事情。
我说的是 Visual Studio 中的 ASP.NET 网页应用程序:文件 > 新网站 > ASP.NET 网站(Razor)
与 Cassini 一起工作,所以它不是 IIS Express 的东西。
iis - 用于 ASP.NET 网页和 IIS 的 Razor
我正在尝试使用 razor 语法的 ASP.NET 网页,因此我创建了一个示例站点。如果我在 WebMatrix 中查看站点或使用 VisualStudio(在浏览器中查看)一切正常。当我尝试创建 IIS 站点时,我在尝试访问任何 .cshtml 文件时收到 404 错误。常规 html 文件可从该站点工作。它设置为 .net 4 集成。我用谷歌搜索了一个小时,没有运气。
asp.net - Web Matrix 网页的视图引擎
微软有一个新的网站编辑工具:WebMatrix。WebMatrix 使用新的网页引擎,其中 Razor 是视图引擎;Razor 也是 MVC3 的新视图引擎。我试图找出是否可以在网页中注册和使用不同的视图引擎(就像在 MVC 中一样)。
有谁知道是否可以在网页中添加或替换视图引擎?如果是这样,是否有人记录了这一点?例子?
helpers - asp.net 网页内容块和助手的区别
在 asp.net 网页框架中,使用内容块和帮助程序有什么区别?
它们似乎都用于将 HTML 输出到多个页面。它们都可以包含代码并且都可以传递参数。
还有其他区别吗?什么时候应该使用助手而不是内容块?
更多信息:
使用内容块,我们创建一个 .cshtml(例如 _MakeNote.cshtml)文件来保存我们想要插入页面的内容。然后我们使用:
将内容插入页面。我们可以像这样将参数传递给内容块:
它有点像一个包含文件,但我认为不与父页面共享范围。
使用 Helpers,我们在 App_Code 文件夹中创建一个 .cshtml 页面(例如 MyHelpers.cshtml),并将方法放置在我们想要调用的那个页面中。该方法看起来像这样:
使用以下方法调用帮助程序:
asp.net-routing - 如何设置 System.Web.WebPages.WebPage.Model 属性
我计划通过动态创建实例来使用 ASP.NET 网页创建自定义路由WebPage
,如下所示:
IHttpHandler handler = System.Web.WebPages.WebPageHttpHandler.CreateFromVirtualPath("~/Default.cshtml");
如何为底层WebPage
对象提供对象,使其成为网页的“模型”?换句话说,我希望能够@Model.Firstname
在文件中写入Default.cshtml
。
任何帮助将不胜感激。
更新
通过修改@Pranav 的答案,我能够WebPage
使用反射检索底层对象:
不幸的是,这是不可靠的,因为它在中等信任下不起作用(如果应用程序未在完全信任下运行,则忽略 BindingFlags.NonPublic)。因此,虽然我们取得了重大进展,但解决方案尚未完成。
任何建议将不胜感激。
c# - 在 ASP.NET WebPages 中将 LINQ 与匿名类和隐式类型数组一起使用时出错
我正在尝试使用引擎盖下的 WebPages 使用 WebMatrix 来模拟页面。我已将隐式类型的匿名对象数组分配给 PageData 键之一,但是当我尝试在集合上使用 LINQ 方法时出现以下错误:
CS1977: Cannot use a lambda expression as an argument to a dynamically dispatched operation without first casting it to a delegate or expression tree type
这是一些示例代码:
如果我首先将数组存储在常规对象中,则可以对其使用 LINQ 方法就可以了。当它作为动态对象从 PageData 出来时似乎存在问题 - 但我似乎无法弄清楚将其强制恢复为初始类型的秘诀。
asp.net - 大型项目上的 ASP.NET Razor 网页?
我正准备启动一个中等规模的 Web 应用程序,并且正在考虑使用 ASP.NET Razor 语法网页框架(而不是 MVC)进行开发。但正如我所见,许多人认为“网页”是为初学者量身定制的。
几年来,我一直在 ASP.NET Web 窗体中开发专业的大型 Web 应用程序,但我一直倾向于使用干净的 html/javascript 代码而不是服务器端控件,因此我发现 Razor 语法非常吸引人。我正在使用 Visual Studio,而不是考虑网页的帮助功能或其他初学者的眼睛糖果功能。
考虑到这一点,您对这种方法的可扩展性、速度和长期发展有何看法?
c# - 在 ASP.NET Web 应用程序中禁用 Razors 默认的 .cshtml 处理程序
有谁知道如何从 ASP.NET Web 应用程序中完全禁用 .cshtml 扩展名?
本质上,我想劫持 .cshtml 扩展名并基于RazorEngine主机提供我自己的实现,尽管当我尝试直接访问 page.cshtml 时,它似乎正在我试图禁用的现有 WebPages razor 主机下运行.
注意:在初始化 Microsoft.Data 数据库时,它看起来像是在 System.Web.WebPages.Razor 上下文下执行的 .cshtml 页面。我什至没有引用任何 Mvc 或 WebPages dll,只有 System.Web.dll 和带有 RazorEngine.dll 的 System.Web.Razor 的本地副本
我创建了一个新的 ASP.NET Web .NET 4.0 应用程序并尝试清除所有 buildProviders 和处理程序,如下所示:
尽管如此,当我访问任何page.cshtml页面时,它仍然会绕过我的通配符处理程序并尝试执行页面本身。
基本上我想删除 .cshtml handlers/buildProviders/preprocessing 的所有痕迹,这样我就可以自己为 .cshtml 页面提供服务,有人知道我该怎么做吗?
c# - 如何从 ASP.NET 4.0 Web 应用程序中禁用/删除 WebPageHttpModule?
我试图让我的通配符 http 处理程序来处理 *.cshtml 页面,但请求永远不会到达我的处理程序,因为它看起来被我通过这个 StackTrace 发现存在的 WebPageHttpModule 拦截:
我尝试使用 Web.Config 禁用所有 HttpModules 但这没有效果,(它也没有出现在 IIS HttpModules 部分中):
使用 ILSpy 搜索显示 System.Web.WebPages.dll 中的以下代码是注册WebPageHttpModule的内容:
但它是一个普通的 .NET 4.0 应用程序,我没有引用任何 System.Web.WebPages、MVC 或 Razor dll,我只引用System.Web。
那么这些程序集是如何加载的,为什么要注册 WebPageHttpModule 以及如何删除/禁用它?
asp.net - 带有 Razor 的 ASP.NET 网页甚至是竞争者吗?
我刚刚使用 Razor 进入 ASP.NET 网页。根据它所提供的功能,您会为您的应用选择它吗?在我看来,ASP.NET MVC 框架为 Razor 提供了更多优势,因为 MVC 必须提供一切;很高兴网页框架有一些来自 WebMatrix DLL 的帮助组件,但是大多数示例都将所有代码放在一个文件中,再加上对一组新 API(通过 webmatrix)的依赖对我来说是一个关闭。
你怎么看?
谢谢。