razor 相关问题

Razor是ASP.NET网页和ASP.NET MVC使用的模板语言(自版本3开始)。它在HTML生成之上添加了一层抽象。它支持HTML标记和C#或VB代码之间的无缝转换。标记和代码之间的转换由“@”符号表示。

Razor 页面 asp 页面标签帮助程序未按预期工作

我有一个 Razor 页面,其中包含指向某个项目的删除页面的以下链接: 删除 我有一个 Razor 页面,其中包含指向某个项目的删除页面的以下链接: <td><a asp-page="/ProcessLineItem/Delete" asp-route-id="@item.Id">Delete</a></td> 当页面加载时,结果很简单: <td><a>Delete</a></td> 我有一个 Delete.cshtml 页面位于 Pages\ProcessLineItem。此外,如果我将 Delete.cshtml 重命名为 Deleter.cshtml 并将 asp 页面标记帮助器相应更改为 asp-page="/ProcessLineItem/Deleter",一切都会按预期工作,并且 <a> 标记会正确生成。我只能认为我在某处存在某种冲突,并且它不知道如何生成路线,但其他对象的所有其他删除页面都工作正常。 我想你可以尝试这样使用: <td><a href="/ProcessLineItem/[email protected]">Delete</a></td> 该错误可能是由您的 Pages 文件夹结构引起的。 检查项目 csproj 文件中的目标页面。 我解决了这个问题,从 csproj 文件中删除以下代码 --> --> --> -->

回答 2 投票 0

如何在mvc中创建下拉菜单来选择对象

由于我们可以以角度选择对象,有什么方法可以让asp.net Dropdown来选择对象。 我有一个列表,其中有 Id、CountryName、CurrencyCode。我想要选择货币代码...

回答 1 投票 0

如何在EditorTemplate、ASP.NET Core 8.0中获取模型的容器

我正在寻找在 EditorTemplate (ASP.NET Core 8.0) 中检索容器的可能性。 在 .NET 4.6 中,有这样的属性: ViewData.ModelMetadata.Container 但 .N 中没有这样的属性...

回答 2 投票 0

如何在EditorTemplate、net8 ASP.NET Core中获取模型的Container

我正在寻找在EditorTemplate(.net8 asp.net core)中检索容器的可能性 在 .net Framework 4.6 中,有 ViewData.ModelMetadata.Container 的属性,但没有这样的属性...

回答 1 投票 0

Visual Studio 2022 中新 ASP.NET Core Razor 项目的 HTML 代码中出现奇怪的字符串

我在使用 Visual Studio 2022(社区版 17.10.4)和 .NET 8.0 创建新的 ASP.NET Core Web 应用程序 (Razor) 项目时遇到问题。不做任何修改,我看到奇怪的

回答 1 投票 0

ASP.NET Core Razor 中一个文件夹页面与文件夹其余部分的授权不同

使用 ASP.NET Core 身份,我希望允许授权用户更改其密码,但需要策略“管理员”访问权限才能访问其他帐户管理页面。 然而...

回答 1 投票 0

下拉 MVC 不保持所选选项的焦点

我有asp net core mvc应用程序。单击过滤器控制器后会收到正确的数据,但下拉菜单始终显示“全部”选项: @{ ViewData["标题"] = "索引"; IsOpenFilterSt...

回答 1 投票 0

是否可以在 ASP.NET MVC 3 中显示数据库中的原始 Html?

我的数据库中有一个表,其中一个属性是一个 Html 页面(没有 html、head 和 body 标签),我打算将它放在我的一个视图的中间 - 比如说,我调用一个控制器方法...

回答 3 投票 0

Kendo UI 网格聚合使用组和 Razor 语法获取“总和”未定义错误

我有一个 Telerik 的父网格,其下有聚合网格作为子网格,这是我的代码 这是父网格 - @(Html.Kendo().Grid()...

回答 2 投票 0

React 组件未在 Razor 页面中呈现

我有一个反应组件,我想在剃刀页面中渲染它。但我不想在 div 中呈现。因为我知道它可以与 ReactDOM.render 一起使用。但这不是我想要的。 我必须用它作为...

回答 2 投票 0

如何填充CreateGroupViewModel

我在将值输入到 ViewModel 时遇到问题,因为在通过 cshtml 输入值后它不断返回 null。 我在cshtml中输入的值 点击确认后 创建ViewModel.cs 公共...

回答 2 投票 0

如何在 .Net Core 项目的布局中包含 font-awesome(通过 nuget 安装)?

我有一个简单的 .NET Core 项目,其中包含以下 .csproj 文件: netcoreapp2.2 我有一个简单的 .NET Core 项目,其中包含以下 .csproj 文件: <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <DebugType>full</DebugType> </PropertyGroup> <ItemGroup> <PackageReference Include="bootstrap" Version="4.3.1" /> <PackageReference Include="Font.Awesome" Version="5.9.0" /> <PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.TagHelpers" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Session" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" /> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.2.4" /> </ItemGroup> 如您所见,它包含 Bootstrap。它与 Bootstrap 配合得很好。恢复项目后我可以在我的wwwroot文件夹中看到它: 但是 Font-Awesome 怎么样?恢复项目后我看不到库的来源。所以,我有一个问题:如何将 Font-Awesome 包含到我的 _Layout.cshtml 文件中? 我在这里找到了 Font-Awesome: 但我不明白如何将它用于这个地方。 如果安装了软件包,您可以在中找到软件包文件 C:/Users/Your Current User/.nuget/packages/font.awesome。 “content”目录下有所有文件,可以手动导入到项目wwwroot文件夹中,像其他静态文件一样使用。

回答 1 投票 0

如何在控制器类中使用 cshtml 链接?

我有一个较旧的 ASP.NET Core 2.1 Web 应用程序项目。 我的项目中的此文件夹中有一个 .cshtml 页面: G:\Projects\AccessApp\Pages\Privacy.cshtml 我想在我的控制器中使用它。我已经尝试过

回答 1 投票 0

混合 Razor 和 Javascript 代码

我对如何混合razor和js感到非常困惑。这是我目前坚持的功能: 变量数据 = []; @foreach(Model.rows 中的 var r...</desc> <question vote="204"> <p>我对如何混合 razor 和 js 感到非常困惑。这是我目前坚持的功能:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = []; @foreach (var r in Model.rows) { data.push([ @r.UnixTime * 1000, @r.Value ]); } </code></pre> <p>如果我可以用 <pre><code>&lt;c#&gt;&lt;/c#&gt;</code></pre> 声明 c# 代码,而其他所有内容都是 JS 代码——这就是我所追求的:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = []; &lt;c#&gt;@foreach (var r in Model.rows) {&lt;/c#&gt; data.push([ &lt;c#&gt;@r.UnixTime&lt;/c#&gt; * 1000, &lt;c#&gt;@r.Value&lt;/c#&gt; ]); &lt;c#&gt;}&lt;/c#&gt; </code></pre> <p>实现这一目标的最佳方法是什么?</p> </question> <answer tick="true" vote="377"> <p>使用<pre><code>&lt;text&gt;</code></pre>:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = []; @foreach (var r in Model.rows) { &lt;text&gt; data.push([ @r.UnixTime * 1000, @r.Value ]); &lt;/text&gt; } &lt;/script&gt; </code></pre> </answer> <answer tick="false" vote="96"> <p>在代码块(例如,<pre><code>@foreach</code></pre>)内,您需要使用<a href="http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx" rel="noreferrer"><code>@:</code><pre>或</pre><code>&lt;text&gt;</code><pre>标签</pre>来标记标记(或者在本例中为Javascript)</a>。</p> <p>在标记上下文中,您需要用代码块包围代码(<pre><code>@{ ... }</code></pre>或<pre><code>@if</code></pre>,...)</p> </answer> <answer tick="false" vote="62"> <p>您也可以简单地使用</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = []; @foreach (var r in Model.rows) { @:data.push([ @r.UnixTime * 1000, @r.Value ]); } &lt;/script&gt; </code></pre> <p>注意<strong>@:</strong></p> </answer> <answer tick="false" vote="12"> <p>永远不要混合更多的语言。 </p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = @Json.Encode(Model); // !!!! export data !!!! for(var prop in data){ console.log( prop + &#34; &#34;+ data[prop]); } </code></pre> <p>遇到问题也可以尝试</p> <pre><code>@Html.Raw(Json.Encode(Model)); </code></pre> </answer> <answer tick="false" vote="1"> <p>将 javascript 从视图中分离出来但仍使用 razor 的非常规方法是创建一个 <pre><code>Scripts.cshtml</code></pre> 文件并将混合的 javascript/razor 放在那里。</p> <p>索引.cshtml</p> <pre><code>&lt;div id=&#34;Result&#34;&gt; &lt;/div&gt; &lt;button id=&#34;btnLoad&#34;&gt;Click me&lt;/button&gt; @section scripts { @Html.Partial(&#34;Scripts&#34;) } </code></pre> <p>脚本.cshtml</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var url = &#34;@Url.Action(&#34;Index&#34;, &#34;Home&#34;)&#34;; $(document).ready(function() { $(&#34;#btnLoad&#34;).click(function() { $.ajax({ type: &#34;POST&#34;, url: url , data: {someParameter: &#34;some value&#34;}, contentType: &#34;application/json; charset=utf-8&#34;, dataType: &#34;json&#34;, success: function(msg) { $(&#34;#Result&#34;).text(msg.d); } }); }); }); &lt;/script&gt; </code></pre> </answer> <answer tick="false" vote="1"> <p>这是我破解 Razor 并使用 Javascript 的方法,而不会吓坏智能感知。</p> <p>显然你应该使用 <pre><code>&lt;text&gt;</code></pre> 但有一个“权宜之计”:之前使用双括号。</p> <p>如果使用单个支架,会发生以下情况:</p> <p><a href="https://i.sstatic.net/ln6eW.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvbG42ZVcucG5n" alt="enter image description here"/></a></p> <p>这就是使用几个牙套时会发生的情况:</p> <p><a href="https://i.sstatic.net/dq7zO.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvZHE3ek8ucG5n" alt="enter image description here"/></a></p> <p>现在常量和变量已经被识别了。 比较好,但不好! 仍然有“小于”符号混淆智能感知,使其认为以下是标签的名称。 “小于”符号被表示为错误,并且从这里存在解析错误,如“console.log”所示。 您需要添加一些东西来安静智能感知,并且在编译时不会在最终的 JS 代码中返回。</p> <p>解决方案:在“小于”之后使用此注释:<pre><code>/*&gt;*/</code></pre></p> <p>这就是结果</p> <p><a href="https://i.sstatic.net/lwHJc.png" rel="nofollow noreferrer"><img src="https://cdn.txt58.com/i/AWkuc3N0YXRpYy5uZXQvbHdISmMucG5n" alt="enter image description here"/></a></p> <p>看起来很奇怪,但它应该能正常工作。</p> </answer> <answer tick="false" vote="0"> <p>您可以对 cshtml 代码和 javascript 使用 <pre><code>&lt;text&gt;</code></pre> 标签</p> </answer> <answer tick="false" vote="0"> <p>不要这样做。如果 <pre><code>@r.Value</code></pre> 的内容碰巧具有以阻止 JavaScript 表达式的方式格式化的 JavaScript 代码,则当前接受的最高答案存在安全漏洞。</p> <p>您必须以其他方式传输数据。例如,您可以创建不可见的 DOM 节点并为其设置 <pre><code>data-*</code></pre> 属性。</p> </answer> <answer tick="false" vote="-3"> <p>在 JS 脚本中将 Razor 代码封装在 @{ } 中,并注意仅使用 @ 有时它不起作用:</p> <pre><code>function hideSurveyReminder() { @Session[&#34;_isSurveyPassed&#34;] = true; } </code></pre> <p>这将产生 </p> <pre><code>function hideSurveyReminder() { False = true; } </code></pre> <p>在浏览器中 =(</p> </answer> </body></html>

回答 0 投票 0

如何在 Razor 模板中有条件地渲染样式属性而不导致 NullReferenceException?

我正在使用C#和Razor引擎(Razor模板引擎)开发一个模板项目。目标是使用我自己的 JSON 定义创建 React 代码。 我的 AppDefinition.json 看起来像这样...

回答 1 投票 0

如何避免引导标签溢出 .NET 8 上的日期选择器输入?

我正在遵循有关向身份用户添加自定义属性的 Microsoft 身份教程。我已经添加了微软文档建议的更改,但是我遇到了一个小的视觉错误。 代码...

回答 1 投票 0

Blazor 在 API 调用后正确更新 UI

民间, 这段代码正是我想要的: 显示来自机器人的消息 (div),表示正在思考 等待 API 调用完成消息(div)的更新并滚动到消息(div) 它...

回答 1 投票 0

System.InvalidOperationException:“渲染句柄尚未分配。”在 Blazor 服务器中

我创建了一个简单的 Blazor 应用程序,我需要在 index.razor 页面上显示加载屏幕。我不需要将其包含在 index.razor 页面上。我正在使用一些间接的方式来做到这一点......

回答 1 投票 0

CSC:警告RSG002:未为附加文件指定TargetPath

使用 .net-6.0 构建 razor 页面应用程序的命令 dotnet build 会抛出很多警告,例如 CSC:警告 RSG002:未为附加文件指定 TargetPath: C:\dev\Foo\Foo\Pages\Admin\

回答 2 投票 0

如何修改 Blazor Radzen css

我正在尝试更改整个解决方案的 Radzen 数据网格的行高,但没有任何运气。 我发现如果我将此样式部分直接添加到 .razor fi 中,我可以做到这一点...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.