razor 相关问题

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

Razor 嵌套 WebGrid

我如何嵌套 WebGrid,并为每列设置大量格式。我可以做一个嵌套的 for 循环,但我基本上需要它来进行分页。或者还有其他更好的选择吗?

回答 1 投票 0

在 Razor 视图中使用 #pragma 语句

我们有一些带有 jQuery vsDoc 的文件,如下所示,用于语法帮助; @如果(假) { <p>我们有一些包含 jQuery vsDoc 的文件,如下所示,用于语法帮助;</p> <pre><code>@if (false) { &lt;script src=&#34;@Url.Content(&#34;~/Scripts/jquery.validate-vsdoc.js&#34;)&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; } </code></pre> <p>它会生成一些关于无法访问代码的恼人的编译器警告,我想用 <a href="http://www.dotnetperls.com/pragma" rel="nofollow noreferrer">#prama warning</a> 包装该语句,但我无法弄清楚 Razor 中的语法。</p> </question> <answer tick="true" vote="7"> <pre><code>@{ #pragma warning disable } @if (false) { &lt;script src=&#34;@Url.Content(&#34;~/Scripts/jquery.validate-vsdoc.js&#34;)&#34; type=&#34;text/javascript&#34;&gt; &lt;/script&gt; } @{ #pragma warning restore } </code></pre> <p>对我有用</p> </answer> <answer tick="false" vote="0"> <p>我认为这应该有效...</p> <pre><code>@{#pragma warning disable} </code></pre> </answer> </body></html>

回答 0 投票 0

如何将js函数参数传递给cshtml中的内联c#?

前言: 我的后端有一个静态格式化函数,它接受一个 int Id 并返回字符串 SerialNumber。我想把它保留在原处。 在其中一个视图中 - 我正在显示一列 Serial

回答 1 投票 0

Blazor:由于内部错误,功能“Razor TagHelperProvider 功能”当前不可用

我在 VS 2022(最新的 17.12 Preview 2.1)中遇到了这个错误。 Blazor:由于内部错误,功能“Razor TagHelperProvider 功能”当前不可用 如果你观察堆栈跟踪,它会说

回答 1 投票 0

MVC 的 cshtml 中的 CSS:基于文本中关键字的条件格式

我正在为 ASP.NET Core MVC 实现排序,我想为排序所依据的列标题添加背景颜色。 在其他线程上,我看到使用脚本可能是

回答 2 投票 0

提交 Razor 页面表单后,本地 SQL Server Express 数据库中未显示更改

我正在尝试连接到本地 SQL Server Express 数据库,但是当我使用 .cshtml.cs 页面提交表单时,命令执行后数据不会出现在表中。我不确定这是否...

回答 1 投票 0

如何处理c#中await任务返回null的情况

我在处理await Task返回null情况时遇到一个问题。 在下面的代码中,如果 GetByName() 方法返回 null。然后在我的调用代码中 GUI 将出现以下异常。我认为这是因为 GetByName()

回答 1 投票 0

更改 Razor @ref 组件中的属性不会更新其在 HTML 元素中的用法

这里是 Blazor 的初学者。 我有一个非常简单的 Razor 组件,它有一个名为 Paragraph 的属性,该属性由 HTML 元素使用: @段落 @代码 { 酒吧...

回答 1 投票 0

Bootstrap 和 Font Awesome 图标未出现

我的 _layout 中有这段代码,它会按照我想要的方式呈现我想要的内容。 现在,在我的不同视图中(请参阅第二个代码片段),我尝试使用 Bootstrap 或 Font Awesome 插入一些图标,但不是......

回答 1 投票 0

webgrid 中的分页在 asp.net mvc 5 中不起作用

我有以下视图和控制器。问题是,当启用分页并单击下一页时,上一个视图消失了 @使用系统 @使用System.Web.Helpers @*@型号列表 我有以下视图和控制器。问题是,当启用分页并单击下一页时,上一个视图消失了 @using System @using System.Web.Helpers @*@model List<DataTransferObjects.UserClaimHistory>*@ <!DOCTYPE html> <html lang="en"> <head runat="server"> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="~/Content/style.css" rel="stylesheet" type="text/css" /> @*<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>*@ <script src="~/Scripts/jquery-1.7.1.js"></script> <style> /*Here I will write some css for looks good*/ th, td { padding: 5px; } th { background-color: gray; } </style> </head> @{ ViewBag.Title = "ViewReports"; var grid = new WebGrid(Model, canPage: false, rowsPerPage: 2, selectionFieldName: "selectedRow", ajaxUpdateContainerId: "gridContent", canSort: false); } @{ var fromDateVal = (DateTime)ViewBag.fromDate; var toDateVal = (DateTime)ViewBag.toDate; } @using (Html.BeginForm("Index", "ViewReport", FormMethod.Post)) { <div class="container"> @{ var homeHeader = Html.Partial("_HomeHeader"); } @homeHeader <div id="logout-div"> @Html.ActionLink("Log Out", "Logout", "Home", null, null ) </div> @{ var homeLeftPanel = Html.Partial("_HomeLeftPanel"); } @homeLeftPanel <div> From Date: @Html.TextBox("fromDate", string.Format("{0:yyyy-MM-dd}", fromDateVal), new { @id = "fromDate", @class = "datefield", type = "date" }) To Date: @Html.TextBox("toDate", string.Format("{0:yyyy-MM-dd}", toDateVal), new { @id = "toDate", @class = "datefield", type = "date" }) <input type="submit" value="Search" /> </div> <div id="main" style="padding: 25px;"> @grid.GetHtml( htmlAttributes: new { id = "MainGrid", width = "60%" }, tableStyle: "table table-bordered table-responsive", headerStyle: "header", alternatingRowStyle: "alt", selectedRowStyle: "select", columns: grid.Columns( grid.Column("UserName", "User Name"), grid.Column("Email", "Email"), grid.Column("Claim", "Accessed"), grid.Column(header: "AccessedOn", format: (item) => string.Format("{0:dd-MM-yyyy}", item.AccessedOn)), grid.Column(format: (item) => { if (item.Count > 1) { var subGrid = new WebGrid(source: item.List, canSort: false); return subGrid.GetHtml(displayHeader: true, htmlAttributes: new { id = "SubGrid", width = "100%" }, columns: subGrid.Columns( subGrid.Column("UserName", "User Name"), subGrid.Column("Email", "Email"), subGrid.Column("Claim", "Accessed"), subGrid.Column("AccessedOn", "AccessedOn") ) ); } else { return null; } }) ) ) <script> $(document).ready(function () { var size = $("#main #MainGrid > thead > tr > th").size(); // get total column $("#main #MainGrid > thead > tr > th").last().remove(); // remove last column $("#main #MainGrid > thead > tr").prepend("<th></th>"); // add one column at first for collapsible column $("#main #MainGrid > tbody > tr").each(function (i, el) { $(this).prepend( $("<td></td>") .addClass("expand") .addClass("hoverEff") .attr('title', "click for show/hide") ); //Now get sub table from last column and add this to the next new added row var table = $("table", this).parent().html(); // // alert(table); //add new row with this subtable // ADD CLICK EVENT FOR MAKE COLLAPSIBLE if (table !== null) { $(this).after("<tr><td></td><td style='padding:5px; margin:0px;' colspan='" + (size - 1) + "'>" + table + "</td></tr>"); $("table", this).parent().remove(); $(".hoverEff", this).live("click", function () { $(this).parent().closest("tr").next().slideToggle(100); $(this).toggleClass("expand collapse"); }); } else { $(this).find('td:eq(0)').removeClass(); } }); //by default make all subgrid in collapse mode $("#main #MainGrid > tbody > tr td.expand").each(function (i, el) { $(this).toggleClass("expand collapse"); $(this).parent().closest("tr").next().slideToggle(100); }); }); </script> </div> @if (ViewBag.Count > 0) { <div> @Html.ActionLink("Export", "ExportToExcel", "ViewReport", new { fromDate = fromDateVal, toDate = toDateVal}, null) </div> } @{ var homeFooter = Html.Partial("_HomeFooter"); } @homeFooter </div> } </html> 这是控制器: public ActionResult Index(DateTime? fromDate, DateTime? toDate) { if (!fromDate.HasValue) fromDate = DateTime.Now.Date; if (!toDate.HasValue) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); if (toDate < fromDate) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); ViewBag.fromDate = fromDate; ViewBag.toDate = toDate; var userClaims = DbAccessWebApiHandler.GetUserClaimAccesshistory(new DateSelection { StartDate = fromDate.Value, EndDate = toDate.Value }); if (userClaims != null) { ViewBag.Count = userClaims.Count; var newList = userClaims.GroupBy(x => new { x.UserName, x.Email, x.Claim, x.AccessedOn.Date }) .Select(y => new UserClaimHistoryGroup { UserName = y.Key.UserName, Email = y.Key.Email, Claim = y.Key.Claim, AccessedOn = y.Key.Date, List = y.ToList(), Count = y.ToList().Count }); return View(newList); } userClaims = new List<UserClaimHistory>(); return View(userClaims); } [System.Web.Mvc.HttpGet] public ActionResult ExportToExcel(DateTime? fromDate, DateTime? toDate) { if (!fromDate.HasValue) fromDate = DateTime.Now.Date; if (!toDate.HasValue) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); if (toDate < fromDate) toDate = fromDate.GetValueOrDefault(DateTime.Now.Date).Date.AddDays(1); ViewBag.fromDate = fromDate; ViewBag.toDate = toDate; var userClaims = DbAccessWebApiHandler.GetUserClaimAccesshistory(new DateSelection { StartDate = fromDate.Value, EndDate = toDate.Value }); if (userClaims != null) { var gv = new GridView(); gv.AutoGenerateColumns = false; gv.Columns.Add(new BoundField { HeaderText = "UserName", DataField = "UserName" }); gv.Columns.Add(new BoundField { HeaderText = "Email", DataField = "Email" }); gv.Columns.Add(new BoundField { HeaderText = "Accessed", DataField = "Claim" }); gv.Columns.Add(new BoundField { HeaderText = "Date", DataField = "AccessedOn" }); var dt = new DataTable(); dt.Columns.Add("UserName"); dt.Columns.Add("Email"); dt.Columns.Add("Claim"); dt.Columns.Add("AccessedOn"); foreach (var item in userClaims) { dt.Rows.Add(item.UserName, item.Email, item.Claim, item.AccessedOn); } gv.DataSource = dt; gv.DataBind(); for (var i = 0; i < userClaims.Count; i++) { gv.Rows[i].Height = 40; } Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=Reports.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; var sw = new StringWriter(); var htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); } return View("Index"); } 能够通过以下脚本工作 var links = $('a[href*=page], a[href*=sort]'), form = $('form'); links.click(function () { form.attr("action", this.href); $(this).attr("href","javascript:"); form.submit(); }); 如在 MVC4 站点中进行排序或分页操作期间如何让 WebGrid 以 POST 而不是 GET 方式进行操作?

回答 1 投票 0

2sxc 新内容类型字段不会显示在 Razor 模板中

我正在使用 2sx 应用程序活动、课程和注册版本 6.17.1。我想通过向事件内容类型添加更多字段来扩展应用程序。我正在运行 DNN 9.13.04 和 2sxc 17.09.00。 我添加了...

回答 1 投票 0

使用 nuglify 或 Web Optimizer 缩小 razor html 页面?

我正在尝试 ASP.NET Core Web Optimizer,它在底层使用 NUglify。它非常适合 js 和 css,并且显然也支持 html,但我无法让它与 razor csh 一起工作...

回答 2 投票 0

Engine.Razor 使用多次相同的键引发异常

我正在尝试使用此处的 Engine.Razor 库在 C# 中生成电子邮件模板。但我不明白他们的关键财产是做什么的? 根据文档我这样运行 电子邮件正文 = ...

回答 2 投票 0

MudBlazor 忽略最大高度

我有一个 MudBlazor 应用程序,并且经常注意到百分比高度和宽度经常被忽略。 在我当前的示例中,我有一个 MudTab,我想在其中显示一个可滚动的 MudTreeView...

回答 1 投票 0

Blazor 组件的当前上下文中不存在变量

我正在 .NET 6 中构建 Blazor(Blazor 服务器)项目,我遇到了一个问题,在一个组件中我可以声明一个变量,但是当我尝试在我之后立即使用该变量执行某些操作时

回答 1 投票 0

基于最小/最大价格的动态价格范围进行过滤

根据这些商品的最低和最高价格,我想为我的复选框过滤器创建动态价格范围。例如,如果最低价格和最高价格之间的差异是 10 美元,我希望...

回答 1 投票 0

ASP.NET Core 8 Razor 页面路由与参数冲突的 PageModel

我正在使用 ASP.NET Core 8.0.8。我有各种模型代表连接数据库中的不同表。我有一个 Table.cshtml razor 页面,它将采用表的名称作为参数...

回答 1 投票 0

ASP.NET Core 8.0 Razor - 循环模型时出现 NullReferenceException

我正在尝试构建一个简单的应用程序,它可以迭代“汽车”(型号)名称。 尝试迭代通过 API 调用的项目时,出现以下错误。 索引.cshtml: @页 @模型

回答 1 投票 0

避免在 MVC razor 视图中重复相同的代码块两次

这可能很简单,但我只是还没有找到方法......:) 我在 cshtml 视图中有这段代码(示例已简化): @if(Model.LinkUrl != null) { 这可能很简单,但我只是还没有找到方法......:) 我在 cshtml 视图中有此代码(示例已简化): @if(Model.LinkUrl != null) { <a href="@Model.LinkUrl"> <h2>@Model.Name</h2> <img src="@Model.ImageUrl" /> </a> } else { <div> <h2>@Model.Name</h2> <img src="@Model.ImageUrl" /> </div> } 根据模型中是否有链接,我必须将相同的代码(和)包装在 或 中。 有没有办法避免重复这段代码: <h2>@Model.Name</h2> <img src="@Model.ImageUrl" /> 即有某种我可以调用来渲染它的辅助方法/混合吗? @functions { void SayHello(string something) { <h3>Hello @something</h3> } } 或者 Func<string, IHtmlContent> SayHello = @<h1>Hello @item</h1>;

回答 1 投票 0

Blazor OnPost***异步未触发

我正在开发 Blazor 服务器项目,由于我是这项技术的新手,我面临着一个我无法理解的问题。 简而言之,我有一个小公式来将对象添加到我的 postgresDB 中。这个公式...

回答 1 投票 0

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