GVKun编程网logo

asp.net-mvc – 如何检查MVC cshtml页面中的调试模式(asp.net mvc view)

14

关于asp.net-mvc–如何检查MVCcshtml页面中的调试模式和asp.netmvcview的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ASP.NETMVC:如何在MVC应用程

关于asp.net-mvc – 如何检查MVC cshtml页面中的调试模式asp.net mvc view的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?、asp.net-mvc – Angular ng-include cshtml页面、asp.net-mvc – asp.net mvc 4 – 谁调用_ViewStart.cshtml和什么步骤的顺序、asp.net-mvc – ASP.NET MVC 4在调试模式下捆绑js文件等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

asp.net-mvc – 如何检查MVC cshtml页面中的调试模式(asp.net mvc view)

asp.net-mvc – 如何检查MVC cshtml页面中的调试模式(asp.net mvc view)

我如何检查MVC cshtml页面中的调试模式?此代码在cshtml页面中不起作用.

@{
bool isRelease = false;
#if DEBUG
isRelease = false;
#else
isRelease = true;
#endif
} @{ if(isRelease) { < p > result1 < /p > } else { < p > result2 < /p >} }

 应用程序显示“结果2”但必须显示“结果1”

解决方法

检查这些:

HttpContext.IsDebuggingEnabled

要么

HttpContext.Current.IsDebuggingEnabled

参考:
IsDebuggingEnabled

ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?

ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?

在我正在开发的应用程序中,我想允许用户上传静态HTML页面来替换默认的“用户配置文件”MVC View页面。这可能吗?也就是说,用户上传的HTML页面将完全用完MVC,并且可以包含自己的CSS链接等。

想法?建议?

解决方法

显然,.net MVC框架处理已经存在于图像/ css / js等的静态内容。这只是一个扩展(路由?)的问题,将.html文件直接传递到IIS。再加上一些重写,使漂亮的url应该做的伎俩。

不过,我非常非常警惕,允许用户生成的内容以原始HTML上传的形式,因为您正在离开非常宽敞的门。最好的是,你将会满足人们的垃圾邮件/色情/广告页面。最糟糕的是,您将为人们提供上传跨站点脚本攻击的渠道,并可能上传恶意内容来破坏您的网站。您可以轻松地将现有的表单存储在您的网站上,将一堆垃圾硬编码到其中,并将其从主页中删除,并打破整个事物。

至少您应该解析上传的内容,将其减少到一小段内容,然后将其包装在您自己的内容中。我个人更倾向于向用户提供一个好的所见即所得编辑器来编辑单一内容 – 任何值得它的盐的编辑应该为您提供关于它包含/不包括哪些元素的消毒。然后将此内容片段存储在数据库/光盘上,并通过标准MVC控制器路由请求主页,并加载该内容。

编辑 – 为您请求示例
您应该能够向路由添加一个忽略规则 – 可能已经有这些示例已经破解打开​​了Global.asax文件 – 您将要调用route.IgnoreRoute方法:

routes.IgnoreRoute("UserPages/{*path}");

应该让IIS处理对yourwebsite.com/UserPages/aUser/homepage.html的所有请求 – 您还可以使用通配符片段/约束更漂亮的解决方案

asp.net-mvc – Angular ng-include cshtml页面

asp.net-mvc – Angular ng-include cshtml页面

我用角度战斗,使其包含在ng-view之外的部分cshtml视图.

这是我的主要观点:

<div>
    <div>
        <div>
            <div ng-include="Home/Template/login"></div>
        </div>
    </div>
</div>

<div>
    <div ng-view></div>
</div>

这里是我的部分Login.cshtml:

<form name="login" ng-controller="LoginCtrl">
    <div><input type="text" name="loginName"placeholder="Brugernavn" oninvalid="this.setCustomValidity('Indtast brugernavn')" ng-model="UserData.LoginName" ng-required="true"></div>
    <div><input type="text" name="password"placeholder="Kodeord" oninvalid="this.setCustomValidity('Indtast kodeord')" ng-model="UserData.Password" ng-required="true"></div>
    <div>
        <buttonng-click="Login()" ng-disabled="login.password.$error.required || login.loginName.$error.required">Login</button>
    </div>
</form>

im使用mvc返回特定部分视图对网址的调用,如下所示:

public ActionResult Template(string id)
    {
        switch (id.ToLower())
        {
            case "login":
                return PartialView("~/Views/Account/Partials/Login.cshtml");
            case "register":
                return PartialView("~/Views/Account/Partials/Register.cshtml");
            case "main":
                return PartialView("~/Views/Main/MainPage.cshtml");
            default:
                throw new Exception("template not kNown");
        }
    }

基本上我会相信ng-include应该调用url,它将返回到页面上将被粘贴的html.但是这不是什么发生,Template方法根本没有被调用.我可以在主页上包含整个模板,但是在登录后,我想用登录的用户数据模板替换此模板.

任何想法如何解决这个问题?

解决方法@H_301_20@
ng-include会计算一个表达式,确保您正在寻找直接加载路径,使用两组引号.
<div ng-include="'Home/Template/login'"></div>

asp.net-mvc – asp.net mvc 4 – 谁调用_ViewStart.cshtml和什么步骤的顺序

asp.net-mvc – asp.net mvc 4 – 谁调用_ViewStart.cshtml和什么步骤的顺序

我是MVC的新手,请耐心等待.我试图找出谁调用Viewstart.cshtml,那里涉及的步骤是什么?是在路由表被访问之后调用的吗?

解决方法

RazorViewEngine具有内部只读字段“ViewStartFileName”,它指定起始视图的名称.每次渲染RazorView实例时调用_ViewStart.cshtml(或.vbhtml)(具体来说,当执行RenderView()方法时).
所以“谁”将是RazorViewEngine及其相应的RazorView类(包括他们的基类).为了得到一个很好的概述MVC请求管道我推荐这个 pdf.

asp.net-mvc – ASP.NET MVC 4在调试模式下捆绑js文件

asp.net-mvc – ASP.NET MVC 4在调试模式下捆绑js文件

“问题在于,默认情况下,asp.net mvc不会在调试模式下捆绑css和js文件.但是我们的css和js文件正在捆绑在调试模式下.”

出于某种原因,所有css和js文件都以调试模式捆绑在一起.它开始于几天前.我们有一个拥有多个开发人员的大型团队,很难找到过去几天发生了哪些变化,因为有多个变更提交到存储库.但是我没有在BundleConfig和Global.asax.cs中发现任何重大变化.

当应用程序在调试模式下运行时,BundleTable.EnableOptimizations返回false.

据我所知,当debug设置为true时,捆绑不会发生.
< compilation debug =“true”targetFramework =“4.5”>

到目前为止,我还没有在Google上发现过这个问题.这是一个非常独特的问题吗?

理想情况下,我想修复它而不是解决方法.找到原因是这里的实际问题.任何关于我应该开始寻找修复的指针都将不胜感激.谢谢.

编辑:我的问题与ASP.NET MVC 4 app with bundling and minification,why is minification enabled in debug mode?相似但不完全相同
有人请删除“这个问题可能已经有答案:”标签.
在我的情况下,捆绑路径已经以“〜”开头

模板:
@ Styles.Render( “〜/内容/ CSS”)
@ Scripts.Render( “〜/捆绑/ JS”)

捆绑配置:
bundles.Add(new Bundle(“〜/ Content / css”).Include(“〜/ Content / * .css”));
bundles.Add(new Bundle(“〜/ bundles / js”).Include(“〜/ Scripts / myproj.*”));

解决方法

尝试专门针对MVC之外的故障排除.

这个问题现在是否超越了您的整个团队或仅仅是您的机器?如果是整个团队,至少你知道改变发生在提交周期的某个地方.

你重建了解决方案吗?清理得当吗?您运行IIS,IIS Express还是Cassini?您是否绝对确定您在调试器中运行的站点/构建版本未处于发布模式?您可能正在调试未通过构建管道修改的特定构建(失败的构建肯定属于此类别).

我正在使用VS 2010和MVC 4,默认情况下在调试模式下,我看到绝对没有捆绑.我没有明确设置任何东西.如果你看到不同的东西,显然必须考虑到它,因为这不是正常的行为.

我觉得你最好的方法是最难的:放松你的提交.制作工作目录的副本,并在此之前的某个时间恢复.验证此版本中没有出现问题,不要只是假设.现在检查在该时间点和现在之间的一半提交.再次测试.如果构建仍然良好,将时间缩短一半并重复.一旦你遇到这个问题,你知道它引入的提交是在你最后一个“好”提交和你当前正在测试的提交之间的某个地方.此技术极大地简化了将问题隔离到特定提交的过程.除非我完全不确定代码,否则我几乎从不会一次提交一个提交,或者我已经很好地指出它可能在哪里.

我们今天的关于asp.net-mvc – 如何检查MVC cshtml页面中的调试模式asp.net mvc view的分享就到这里,谢谢您的阅读,如果想了解更多关于ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?、asp.net-mvc – Angular ng-include cshtml页面、asp.net-mvc – asp.net mvc 4 – 谁调用_ViewStart.cshtml和什么步骤的顺序、asp.net-mvc – ASP.NET MVC 4在调试模式下捆绑js文件的相关信息,可以在本站进行搜索。

本文标签: