如何在 VS2012 MVC4 项目中设置 Ext.NET 2.0?

2024-03-27

我非常怀疑我的问题是否会得到解答,但我会在这里尝试,因为我的挫败感如此之高,也许这会帮助我自己降低它们!

所以,我想做的是:

  • 从头开始安装 VS2012(好吧,点击 .exe 即可开始!)
  • 创建一个新的MVC4项目
  • 使用 Razor View Engine(现在是默认引擎)
  • 使 EXT.NET 2.0 与上述内容一起工作

,由于所有需求都将打包在 nuGet 包中,唯一的问题是我,以及其他少数开发人员,希望使用那些现在已经在工作了

我现在成功做的事情:

  • 按照此thread http://forums.ext.net/showthread.php?16920我已经正确设置了 web.config!
  • 让VS2012识别Ext.Net引用

就是这样:

  • 创建新项目,选择Basic/Empty/Internet Application模板
  • 在项目的资源中,添加对 Ext.NET.dll 的引用(浏览、查找等)
  • 以这种方式编辑 web.config:

http://diffchecker.com/v99ScX0x http://diffchecker.com/v99ScX0x

  • 以这种方式编辑 Views/web.config:

http://diffchecker.com/7UEK058Y http://diffchecker.com/7UEK058Y

我希望 diffchecker 足够清楚让你理解,无论如何改变都是SAME在这两个文件中,它们必须如此!

  • 在 App_Start/RouteConfig.cs 中添加以下行

路线.IgnoreRoute(“{排除}/{extnet}/ext.axd”);

  • 现在我继续关注我的线索上面链接 http://forums.ext.net/showthread.php?16920
  • 创建名为“Examples”的控件 -> ExamplesController.cs,此处无需修改
  • 创建上述控制器的视图。所以视图/示例/Index.cshtml

我对页面进行了一些编辑,使其更像 MVC 风格,实际上没什么大不了的。 整个页面如下:

@{
    ViewBag.Title = "Infinite Scrolling - Ext.NET Examples";
}

@Html.X().ResourceManager()

<h1>Infinite Scrolling</h1>
<p>The brand new GridPanel supports infinite scrolling, which enables you to load any number of records into a grid without paging.</p>
<p>The GridPanel uses a new virtualized scrolling system to handle potentially infinite data sets without any impact on client side performance.</p>
<br />

@(Html.X().GridPanel()
    .Title("Stock Price")
    .Height(500)
    .Width(500)
    .InvalidateScrollerOnRefresh(false)
    .DisableSelection(true)
    .Store(store => store.Add(Html.X().Store()
        .PageSize(100)
        .Buffered(true)
        .AutoLoad(false)
        .Proxy(proxy => proxy.Add(Html.X().AjaxProxy()
                    .Url("/Data/GetData/")
                    .Reader(reader => reader.Add(Html.X().JsonReader()
                                .Root("data")
                            ))
                    ))
        .Model(model => model.Add(Html.X().Model()
                    .Fields(fields => {
                        fields.Add(Html.X().ModelField().Name("Company")); 
                        fields.Add(Html.X().ModelField().Name("Price"));
                        fields.Add(Html.X().ModelField().Name("LastUpdate").Type(ModelFieldType.Date));
                    })
                ))
        ))
    .VerticalScroller(scroller => scroller.Add(Html.X().GridPagingScroller()))      
    .ColumnModel(columnModel => {
        columnModel.Columns.Add(Html.X().RowNumbererColumn().Width(50).Sortable(false));
        columnModel.Columns.Add(Html.X().Column()
                                        .Text("Company")
                                        .DataIndex("Company")
                                        .Flex(1));
        columnModel.Columns.Add(Html.X().Column()
                                        .Text("Price")
                                        .DataIndex("Price")
                                        .Width(70));
        columnModel.Columns.Add(Html.X().DateColumn()
                                        .Text("LastUpdate")
                                        .DataIndex("LastUpdate")
                                        .Width(140)
                                        .Format("HH:mm:ss"));
    })
    .View(view => view.Add(Html.X().GridView().TrackOver(false)))
    .Listeners(listeners => {
        listeners.AfterRender.Handler = "this.store.guaranteeRange(0, 99);";
        listeners.AfterRender.Delay = 100; 
    })
)
  • 然后我添加了另一个控制器以使其正常工作,正如线程所说
  • 添加 DataController.cs 作为 替代AjaxStoreResult 与 StoreResult
  • DataController.cs还需要

    使用Ext.Net.MVC;

所以我在这里!
如果您现在启动 IIS Express,您可以在 localhost:XXXXX/Examples/ 中执行该页面

我遇到的第一个问题是:页面尝试加载 localhost:XXXX/extjs/ 库,这不是 MVC 风格!

这是通过 @Html.X().ResourceManager() 完成的,有一种方法可以让它连接到?甚至改变路径!?

之后可能会出现其他问题,但现在我想解决这个痛苦的小问题


根据您上面链接到的 Web.config 文件,我认为您缺少所需的<modules> and <handlers>Web.config 中的部分。 README.txt 中列出了所需的 Web.config 部分。

http://examples.ext.net/#/Getting_Started/Introduction/README/ http://examples.ext.net/#/Getting_Started/Introduction/README/

这里有合适的<system.webServer>示例 Web.config 中的部分。

Example

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add 
            name="DirectRequestModule" 
            preCondition="managedHandler" 
            type="Ext.Net.DirectRequestModule, Ext.Net" 
            />
    </modules>
    <handlers>
        <add 
            name="DirectRequestHandler" 
            verb="*" 
            path="*/ext.axd" 
            preCondition="integratedMode" 
            type="Ext.Net.ResourceHandler"
            />
    </handlers>
</system.webServer>

我不知道什么“这不是 MVC 风格”意思是在下面的引用中。你能提供更多解释吗?

我遇到的第一个问题是:页面尝试加载 localhost:XXXX/extjs/ 库,这不是 MVC 风格!

您可以通过设置来阻止 Ext.NET ResourceManager 渲染所需的 .js 和 .css 文件.RenderScripts(ResourceLocationType.None) and .RenderStyles(ResourceLocationType.None).

Example

@Html.X().ResourceManager()
    .RenderScripts(ResourceLocationType.None)
    .RenderStyles(ResourceLocationType.None)

您可以通过更改以下内容来配置 ResourceManager 加载 CDN 文件ResourceLocationType.None归因于ResourceLocationType.CDN.

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 VS2012 MVC4 项目中设置 Ext.NET 2.0? 的相关文章

  • asp.net mvc验证必须是数字自定义错误

    我是 ASP NET 的新手 我遇到了一个问题 当用户在编辑器中为小数字段插入数字以外的内容时 他们会收到错误 字段名称 不是数字 但我不希望他们收到此消息 我希望他们收到另一条消息 对于必需的和范围验证器 我对此没有任何问题 我有什么办法
  • 将 IClientValidatable 保留在模型层之外

    我在用着数据注释验证我的模型类 我还编写了一些自定义属性 最终 模型被推送到在 ASP NET MVC 中构建的 Web 界面 但我希望保持关注点的清晰分离 因此模型类有自己的程序集 也将由控制台应用程序使用 必须使用IClientVali
  • 应该是 WebAPI 还是 asmx

    我应该为我的两个简单 API 使用 ASMX 服务还是 ASP NET Web API 我想在我的 ASP NET MVC 项目中创建两个简单的 API 一个接受 3 个参数 currentUserID DataType ActionNam
  • Orchard CMS 错误“ValueFactory 试图访问此实例的 Value 属性”?

    我正在使用 orchard 1 8 1 并尝试安装主题 Bootstrap 它给了我以下错误 谁能帮我吗 描述 执行当前 Web 请求期间发生未处理的异常 请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息 异常详细信息 System
  • asp.net mvc数据注释验证url

    有人可以告诉我如何验证一个网址吗http www abc com http www abc com 让 System Uri 为您完成繁重的工作 而不是 RegEx public class UrlAttribute ValidationA
  • 如何在级联下拉列表中显示选定的值?

    我想要为编辑视图中的选定值扩展以下代码 以国家 gt 州 gt 城市为例 我有脚本 Cascading DropDown List js function bindDropDownList e targetDropDownList var
  • 将MapPageRoute添加到asp.net mvc项目后,站点停止进入Home Controller

    我正在尝试在我的 asp net mvc 项目中路由 aspx Webforms 页面 我在 global asax 中注册该页面 routes IgnoreRoute resource axd pathInfo routes MapPag
  • 如何在 razor 中指定数据属性,例如 @this.Html.CheckBoxFor(...) 上的 data-externalid="23151"

    this Html CheckBoxFor m gt m MyModel MyBoolProperty new class myCheckBox extraAttr 23521 使用 razor 我无法指定数据属性的值 例如data ext
  • asp.net mvc 树路径的复杂路由

    我想知道如何定义这样的路由映射 TreePath Action Id TreeMap 是从数据库动态加载的 如下所示 Gallery GalleryA SubGalleryA View 3 您可以创建自定义路由处理程序来执行此操作 实际路线
  • 如何使用 ASP.NET MVC 控制器操作将文件发送到浏览器?

    我有一个应用程序 允许我的用户上传任何类型的文件 我将其保存在服务器上的文件系统中 该应用程序只能由两个用户访问 因此我无需担心上传任何可疑文件 如何允许用户按下 MVC 表单上的按钮来请求通过浏览器发回文件并显示标准保存 打开对话框 我想
  • vNext:使用 razor 视图而无需托管的控制台应用程序

    我正在创建执行一些文件转换的控制台应用程序 这些转换可以轻松完成 从输入文件创建模型 然后为输出执行 razor 模型 为了在 IDE 中实现此功能 我使用了 Visual Studio 2015 预览版并创建了一个使用 MVC 的 vne
  • DbContext 已被处置

    我使用 ASP NET MVC 4 和 SQL Server 2008 开发了一个 Web 应用程序 我创建了 ContextManager 类 以便在所有页面中只有一个数据库上下文 public static class ContextM
  • 三层应用程序中 EF Core 的自动迁移

    我在 Asp net Mvc Core 中有三层应用程序并使用 EF core 现在我想创建自动迁移 我有 DAL 层 我的上下文可以在这里使用 public class AdminContext DbContext public Admi
  • 是否可以在控制器外部获取运行时的路线数据?

    我想知道是否有可能以某种方式获取控制器外部的路由值 这是我尝试过的 我也尝试过做 Values projectId 但我仍然得到null RoutePrefix projects public class UsergroupControll
  • 无法使用实体框架创建控制器 - 无法检索“ ”的元数据

    我是 ASP net 的菜鸟 不知道为什么没有创建控制器 在教程中 我将它从一个单词复制到另一个单词 它工作得很好 允许我创建一个数据库 遵循本教程的结构 但以我自己的方式 只是更改一些名称 http www asp net mvc ove
  • 用于更改可为空和非空数据类型的数据注释是什么?

    我认为这对于有经验的程序员来说应该很简单 但事实就是如此 我正在开发一个首先使用实体 框架代码的项目 我还启用了迁移并设置为自动 可爱的功能 我愚蠢地在我的实体类中声明了一种错误的数据类型 现在我意识到它不适用于我想要做的事情 一定是自动完
  • ASP.NET MVC 4 中的全局变量

    我目前正在构建一个 ASP Net MVC 4 SAAS 应用程序 C 并且一直致力于设计计划 我的意思是如果客户选择Plan A他们应该有权访问一些东西 如果他们选择的话Plan B他们可以接触其他人等等 我坚持的部分是与所有操作共享帐户
  • 如何测试方法参数是否用属性修饰?

    这可能是重复的 但我找不到我要找的问题 所以我问它 如何测试方法参数是否用属性修饰 例如 以下 MVC 操作方法 使用 FluentValidationCustomizeValidatorAttribute HttpPost OutputC
  • 嵌入式剃须刀视图

    最近 我读到一篇post http www chrisvandesteeg nl 2010 11 22 embedding pre compiled razor views in your dll 作者在其中描述了如何将 razor 视图编
  • 尝试返回 IQueryable 时发生转换错误

    我有一个查询应该返回IQueryable

随机推荐