问题标签 [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.

0 投票
3 回答
915 浏览

asp.net - ASP.NET WebPages 如何实现无扩展 URL?

我想为我自己的构建提供者实现同样的事情。


我说的是 Visual Studio 中的 ASP.NET 网页应用程序:文件 > 新网站 > ASP.NET 网站(Razor)
与 Cassini 一起工作,所以它不是 IIS Express 的东西。

0 投票
4 回答
8699 浏览

iis - 用于 ASP.NET 网页和 IIS 的 Razor

我正在尝试使用 razor 语法的 ASP.NET 网页,因此我创建了一个示例站点。如果我在 WebMatrix 中查看站点或使用 VisualStudio(在浏览器中查看)一切正常。当我尝试创建 IIS 站点时,我在尝试访问任何 .cshtml 文件时收到 404 错误。常规 html 文件可从该站点工作。它设置为 .net 4 集成。我用谷歌搜索了一个小时,没有运气。

0 投票
2 回答
768 浏览

asp.net - Web Matrix 网页的视图引擎

微软有一个新的网站编辑工具:WebMatrix。WebMatrix 使用新的网页引擎,其中 Razor 是视图引擎;Razor 也是 MVC3 的新视图引擎。我试图找出是否可以在网页中注册和使用不同的视图引擎(就像在 MVC 中一样)。

有谁知道是否可以在网页中添加或替换视图引擎?如果是这样,是否有人记录了这一点?例子?

0 投票
1 回答
282 浏览

helpers - asp.net 网页内容块和助手的区别

在 asp.net 网页框架中,使用内容块和帮助程序有什么区别?

它们似乎都用于将 HTML 输出到多个页面。它们都可以包含代码并且都可以传递参数。

还有其他区别吗?什么时候应该使用助手而不是内容块?

更多信息:

使用内容块,我们创建一个 .cshtml(例如 _MakeNote.cshtml)文件来保存我们想要插入页面的内容。然后我们使用:

将内容插入页面。我们可以像这样将参数传递给内容块:

它有点像一个包含文件,但我认为不与父页面共享范围。

使用 Helpers,我们在 App_Code 文件夹中创建一个 .cshtml 页面(例如 MyHelpers.cshtml),并将方法放置在我们想要调用的那个页面中。该方法看起来像这样:

使用以下方法调用帮助程序:

0 投票
1 回答
1498 浏览

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)。因此,虽然我们取得了重大进展,但解决方案尚未完成。

任何建议将不胜感激。

0 投票
1 回答
4934 浏览

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 出来时似乎存在问题 - 但我似乎无法弄清楚将其强制恢复为初始类型的秘诀。

0 投票
2 回答
2174 浏览

asp.net - 大型项目上的 ASP.NET Razor 网页?

我正准备启动一个中等规模的 Web 应用程序,并且正在考虑使用 ASP.NET Razor 语法网页框架(而不是 MVC)进行开发。但正如我所见,许多人认为“网页”是为初学者量身定制的。

几年来,我一直在 ASP.NET Web 窗体中开发专业的大型 Web 应用程序,但我一直倾向于使用干净的 html/javascript 代码而不是服务器端控件,因此我发现 Razor 语法非常吸引人。我正在使用 Visual Studio,而不是考虑网页的帮助功能或其他初学者的眼睛糖果功能。

考虑到这一点,您对这种方法的可扩展性、速度和长期发展有何看法?

0 投票
2 回答
2799 浏览

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 页面提供服务,有人知道我该怎么做吗?

0 投票
2 回答
1394 浏览

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 以及如何删除/禁用它?

0 投票
1 回答
486 浏览

asp.net - 带有 Razor 的 ASP.NET 网页甚至是竞争者吗?

我刚刚使用 Razor 进入 ASP.NET 网页。根据它所提供的功能,您会为您的应用选择它吗?在我看来,ASP.NET MVC 框架为 Razor 提供了更多优势,因为 MVC 必须提供一切;很高兴网页框架有一些来自 WebMatrix DLL 的帮助组件,但是大多数示例都将所有代码放在一个文件中,再加上对一组新 API(通过 webmatrix)的依赖对我来说是一个关闭。

你怎么看?

谢谢。