如何在 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? 的相关文章

  • 在极少数情况下,重定向到 ACS 并返回后 Cookie 为空

    我的网站上有一份注册表 填写完毕后 用户将被重定向到 Azure ACS 以便登录 登录后 用户将被重定向回我的网站并进行注册和登录 注册表单由 JavaScript 提交 用户填写的信息通过 RegisterController 中的 R
  • 在我的网站上显示 Google Analytics 数据?

    我正在尝试找出一种方法来在我的网站上显示从 Google Analytics 收集的数据 我正在使用 NopCommerce 并且我想在管理部分的视图中显示此信息 统计数据 可能有很多方法可以实现这一点 在网上搜索后我发现了一些使用 Jav
  • 如何有效地测试action是否用属性(AuthorizeAttribute)修饰?

    我正在使用 MVC 并且有一种情况OnActionExecuting 我需要确定即将执行的Action方法是否用属性修饰 AuthorizeAttribute尤其 我不是问授权是否成功 失败 而是问该方法是否需要授权 对于非 MVC 人员
  • ASP.NET MVC 数据注释属性 Range 从另一个属性值设置

    您好 我的 Asp net MVc 模型中有以下内容 测试模型 cs public class TestModel public double OpeningAmount get set Required ErrorMessage Requ
  • ASP.NET MVC 中是否有嵌套母版页?

    我想知道 MVC 框架是否可以利用嵌套母版页 如果是这样 有人有一些关于如何实现这一目标的信息吗 我们经常使用嵌套母版页 以便将布局与标准包含和站点范围标记分开 如下所示 站长
  • pubxml Web 发布工具事件生命周期

    我正在使用 Visual Studio 2012 中的 Web 发布工具发布到文件系统 我了解到我可以打开 Properties 文件夹中的 pubxml 来执行更高级的操作 我想要做的是在发布任务结束时运行命令行应用程序 我通常会在自定义
  • JQuery - 使用 JSON 的属性创建输入

    我正在尝试使用 JSON 设置的 id 和 value 属性创建一个输入 我有一个获取 JSON 的 ajax 调用 返回的数据很好 对于 JSON 中的每个对象 我想创建一个带有 ID 和 JSON 值的按钮 阿贾克斯调用 ajax ty
  • 用户注销速度非常快

    我正在使用 ASP NET 身份成员身份 这是 Startup Auth cs 代码 app CreatePerOwinContext EFDbContext Create app CreatePerOwinContext
  • “应用程序无法正确启动(0xc000007b)。单击“确定”关闭应用程序。”

    当我尝试打开 Visual Studio 2010 时 我在运行 Windows Server 2008 R2 Enterprise SP1 的 VPS 上收到标题中的错误消息 即使在我安装了 SQL Server 2012 和 VS 20
  • 如何在 ASP.NET MVC 中手动设置用户角色?

    我正在从事的这个项目要求我保留管理员用户的本地数据库 并为普通用户使用外部数据库 在管理数据库中通过身份验证的任何人都应被分配 管理员 角色 而通过其他数据库进行身份验证的任何人将始终被分配 用户 角色 我可以手动分配这些角色吗 我不需要角
  • Visual Studio 希望使用错误的平台工具集进行构建

    我已将解决方案从 VS2010 升级到 VS2012 我用其他解决方案做到了这一点 而且效果很好 但现在当我尝试构建更新的解决方案时 编译器告诉我 Error 1596 error MSB8020 The builds tools for
  • 身份服务器刷新令牌资源所有者密码凭证流程

    我正在使用 IdentityServer 来控制对 API 的访问 我有一个单独的身份验证 API 它发出令牌并验证访问请求以确保 API 的安全 我让用户能够通过安全的 Web 应用程序生成访问令牌 我正在使用资源所有者密码凭证流程 有没
  • C# SMTP 身份验证失败,但凭据正确

    这是我的问题 我编写了以下程序来测试是否可以发送电子邮件 class Program static void Main string args try Console WriteLine Mail To MailAddress to new
  • MVC RadiobuttonFor Razor 如何使标签可点击?

    我正在尝试用 razor 语法制作一个单选按钮列表 到目前为止我已经想出了这个 foreach var p in Model div class col lg 5 Html RadioButton name 1 false new onCL
  • 如何在ListBox中加载大量数据? ASP.NET MVC 应用程序

    我正在使用 ASP NET MVC 应用程序 要求用户能够从可能包含超过 30 000 个条目的列表框中选择一个项目 是否有一种使用 Ajax 调用来填充此 ListBox 内容的动态方法 效果良好 我是否最好只填充服务器上的 ListBo
  • Visual Studio:如何正确构建和指定 x64 和 x86 的配置和平台

    使用 Visual Studio 2012 Professional 和 Ultimate 以及所有最新更新 如何正确指定配置和平台以正确构建 x86 和 x64 当您第一次创建 Winforms 应用程序时 Visual Studio 会
  • 为什么我的 COM 对象不显示组件服务中的方法?

    我正在尝试创建一个 COM 对象并将其注册到 COM 下 一切似乎都很顺利 但是当我查看组件服务并深入了解时 控制台根目录 组件服务 电脑 我的电脑 COM 应用程序 测试通讯 组件 TestCom Com MyCom 接口 MyCom 方
  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 将多个对象传递给我的控制器

    我将一个对象传递给我的控制器 如下所示 var form JSON stringify subRevisedRequest frmRevised val subSubcontractor frmSubcontractor val subDe
  • ASP.NET MVC 子操作的路由匹配

    子动作的路由匹配方法与普通动作有什么不同吗 换句话说 子操作是否有一些自动生成的 url 来进行与父操作类似的匹配 父级或子级动作处理没有区别 任何操作都遵循您在中设置的相同路线定义Application Start 这意味着父母的行为以及

随机推荐