小编Ale*_*bin的帖子

如何在View&PartialView(合并)中多次使用Razor Section而不覆盖它?

在_Layout.cshtml文件中,我在主体底部有一个名为"ScriptsContent"的部分,声明如下:

@RenderSection("ScriptsContent", required: false)
Run Code Online (Sandbox Code Playgroud)

在我看来,我可以使用此部分添加要执行的脚本.但是,如果我还有一个PartialView也需要使用此部分来添加其他脚本呢?

视图

@section ScriptsContent
{
    <script type="text/javascript">
        alert(1);
    </script>
}

@Html.Partial("PartialView")
Run Code Online (Sandbox Code Playgroud)

PartialView

@section ScriptsContent
{
    <script type="text/javascript">
        alert(2);
    </script>
}
Run Code Online (Sandbox Code Playgroud)

结果

仅渲染第一个脚本.第二个脚本不存在于网页的源代码中.

Razor似乎只输出他看到的第一个@section ScriptsContent.我想知道的是,是否有办法将每个调用合并到该部分.

如果我们不能这样做,你有什么建议?

感谢您的帮助!

UPDATE

我找到了一些解决问题的代码.请参阅下面的答案.

razor asp.net-mvc-3

32
推荐指数
1
解决办法
1万
查看次数

两个DIV并排并在底部垂直对齐

我需要将两个DIV并排放置并在底部垂直对齐.

  • 橙色div 没有宽度或高度.它可以根据他的内容增长
  • 我应该可以使用绿色div的填充和边距
  • 我想有一个不使用javascript的解决方案

一个高橙色的矩形,一个短的绿色矩形,基部对齐

html css

31
推荐指数
1
解决办法
2万
查看次数

由于.suo文件,发布我的Web应用程序可能需要很长时间才能完成

我有一个Web应用程序项目,我通过Visual Studio 2010发布到我的服务器.我的问题是它可能需要很长时间才能实际发布它.也许10分钟!它并非每次都会发生,但经常发生.

这是我尝试发布时在Output - > Build控制台中的内容摘要:

  • 该项目正在编制 - 好的
  • 连接到C:\ Users {user}\Desktop\MyProjectTest ...(这可能需要10分钟)
  • 文件正在发布......

在此输入图像描述

Process Explorer

当我打开ProcessExplorer时,我发现它devenv.exe占用了所有的CPU.当我打开这个过程时,我看到消耗所有CPU的任务是clr.dll!StrongNameSignatureVerification+0x11ee1.此任务完成后,10分钟后,发布任务将很快完成.

在此输入图像描述

进程监视器

使用Process Monitor,我监视了clr.dll的TID!StrongNAmeSignatureVerification并且我有很多redondant事件.超过5分钟,该任务尝试访问我的计算机上没有的文件.他正在寻找Microsoft.Build.Task.resources.dll.就好像发布任务一次又一次地尝试一些不存在的东西.为了您的信息,我使用Windows 7法语Visual Studio 2010英语.在屏幕截图中,您可以看到超过2000个同一事件的10个事件!

在此输入图像描述

有关我的设置的更多信息

以下是一些有助于识别问题的信息:

  • 我的应用程序是使用MVC3构建的
  • 我有几个第三方dll.其中一些是签署的.
  • 我正在使用文件系统方法发布.
  • 我试图在我的本地计算机上发布,问题也存在,所以它不是我的计算机和我的服务器之间的网络问题.
  • 我已经在Windows 7 x86和x64 法语版上进行了测试
  • 我的Visual Studio 2010 SP1是英文版

更新2011-09-23

我现在知道如何解决这个问题,我不知道是什么原因造成的.如果我删除**.soo文件(与.sln文件处于同一级别)并重新打开Visual Studio,则发布将非常快.因此,每次发布变慢时,重新初始化.suo文件似乎都可以解决问题.

只是为了进行另一次测试,我在发布缓慢时删除了.suo文件并将其删除.现在出版很快.如果我将.suo文件复制回他的位置并重新打开Visual Studio,则发布将再次变慢.所以所有人似乎都指向那个文件.

对这一个有什么想法吗?

asp.net publish publishing visual-studio-2010 asp.net-mvc-3

15
推荐指数
1
解决办法
7850
查看次数

带有OutputCacheAttribute的mvc-mini-profiler

我在测试网站上使用mvc-mini-profiler.当我在我的action方法上放置一个OutputCacheAttribute时,不会执行探查器并始终返回缓存之前的最后一个值.

有没有办法告诉mvc-mini-profiler结果来自缓存,以便它可以更新他的状态?也许在客户端网站上,我们可以看到这样的信息:

http://localhost/Home (from cache) 2.1ms,  +0.5ms 
Run Code Online (Sandbox Code Playgroud)

outputcache asp.net-mvc-3 mvc-mini-profiler

11
推荐指数
1
解决办法
352
查看次数

带MVC3的Html.Partial或Html.RenderPartial?

看到以下解释后,我完全感到困惑.

<div>
  @Html.Partial("_FeaturedProduct")
</div>
Run Code Online (Sandbox Code Playgroud)

部分视图可以在布局页面内呈现(或者如果使用MVC 2/3 w/ASPX,主页面)以及常规视图.

在某些情况下,您可能希望退出并直接写入HTTP响应流,而不是使用部分视图呈现结果(部分/视图使用MvcHtmlString/StringWriter).为此,请使用Html.RenderPartial帮助程序.

<div>
  @Html.RenderPartial("_FeaturedProduct")
</div>
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这是什么意思吗?我可能希望直接写入HTTP响应等的情况.如果我的部分视图只包含这样一行,该怎么办?

<h1>Hello</h1>
Run Code Online (Sandbox Code Playgroud)

我应该使用哪个以及为什么?如果我用另一个会怎么样?

以下让我更加困惑:"使用Html.RenderPartial来传输图像或其他以媒体为中心的元素或者下载速度更快的非常重要的元素."

asp.net-mvc asp.net-mvc-3

10
推荐指数
1
解决办法
2万
查看次数

如何在IIS上限制/验证文件上载文件类型服务器端

我想有一个文件类型的白名单,用户有权上传到我的IIS服务器(我使用IIS v7.5).

我有哪些选择?例如,要将控制器中的特定操作的文件大小限制为5MB,我将此部分添加到我的webconfig:

<location path="home/fileupload">
  <system.web>
    <!-- maxRequestLength is in kilobytes (KB) -->
    <httpRuntime maxRequestLength="5120" /> <!-- 5MB -->
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- maxAllowedContentLength is in bytes -->
        <requestLimits maxAllowedContentLength="5242880"/> <!-- 5MB -->
      </requestFiltering>
    </security>
  </system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)

webconfig中是否有一个选项来设置允许的文件类型的白名单?或者唯一的选择是在文件完全上传时验证代码中的文件类型?什么是推荐的技术?我怎么能确定.docx,.pdf,.jpg等真的是它们是什么?

asp.net iis asp.net-mvc file-upload asp.net-mvc-3

6
推荐指数
1
解决办法
9309
查看次数

如何使用LINQ在n个部分中垂直拆分列表

我想将一个列表分成几部分,而不知道我将在该列表中有多少项目.问题与那些想要将列表拆分为固定大小的块的人不同.

int[] a = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Run Code Online (Sandbox Code Playgroud)

我希望将值垂直分割.

拆分为2:

-------------------
| item 1 | item 6 |
| item 2 | item 7 |
| item 3 | item 8 |
| item 4 | item 9 |
| item 5 |        |
Run Code Online (Sandbox Code Playgroud)

拆分为3:

| item 1 | item 4 | item 7 |
| item 2 | item 5 | item 8 |
| item …
Run Code Online (Sandbox Code Playgroud)

c# linq list

6
推荐指数
1
解决办法
3498
查看次数

如何从 Entity Framework Core 中的导航集合属性获取原始值?

使用 Entity Framework Core,我需要检查实体内导航属性的原始值,但我找不到方法来执行此操作。

我能够读取实际实体的原始值和当前值及其参考属性,但是当我读取导航属性时,OriginalValue 属性丢失了。

这是我到目前为止所能做的。

var entries = ChangeTracker.Entries<Book>()
                .Where(x => x.State == EntityState.Modified)
                .ToList();

foreach (var entry in entries)
{   
   // read the entity current & original values 
   var currentTitleValue = entry.Property(x => x.Title).CurrentValue;
   var originalTitleValue = entry.Property(x => x.Title).OriginalValue;

   // read the reference object current & original values
   var promotionReferenceEntry = entry.Reference(x => x.Promotion);
   var currentPromotionPriceValue = promotionReferenceEntry.TargetEntry.Property(x => x.Price).CurrentValue;
   var originalPromotionPriceValue = promotionReferenceEntry.TargetEntry.Property(x => x.Price).OriginalValue;

   // read the navigation object current & original values
   var …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework dbcontext entity-framework-core

6
推荐指数
1
解决办法
1887
查看次数

我可以改变MVC中LabelFor渲染的方式吗?

我想改变LabelFor渲染的方式.我可以使用DisplayTemplate吗?

LabelFor生成标签标签,我想在标签的末尾添加":".

谢谢!

亚历克斯

asp.net-mvc asp.net-mvc-2

4
推荐指数
1
解决办法
1360
查看次数