razor 相关问题

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

使用 .razor.css 时 Blazor/Razor 组件中的样式问题

当我将样式移动到单独的 CSS 文件时,尝试将样式应用到 Blazor/Razor 组件时遇到问题。在我的项目中,我在 .razor 组件中定义样式,并且在应用 sty 时...

回答 1 投票 0

在 Blazor Server 中创建自定义组件

我想创建一个组件,使用户能够从原告列表中**自动完成**,此外还允许他们**创建**一个新原告(如果**找不到结果**)。我知道那...

回答 1 投票 0

自定义 TagHelper 未呈现

我想将一个非常旧的pdf处理应用程序移植到.Net,并在此过程中将handelbars模板转换为Razor。 我很困惑为什么 TagHelper 没有被选中。 命名空间

回答 1 投票 0

如何用c#在不刷新页面的情况下根据所选选项显示价格

到目前为止我还没有使用过Ajax,我想在选择所需选项后显示价格而不刷新页面。 到目前为止,我还没有使用过 Ajax,我想在选择所需选项后显示价格,而不刷新页面。 <div class="form-group"> <label class="control-label">choice your Option</label> <select> @foreach (var item in Materials) { <option value="@item.Id"> @item.MaterialName @item.Panel </option> } </select> <span class="main-price ">@item.Price</span> </div> 让我们看看我们可以为您的案例做些什么: 将 id 分配给您的 select 以保存您将发送给服务器的值,并为 span 分配以显示服务器的输出: <div class="form-group"> <label class="control-label">choice your Option</label> <select id="ddlMaterial"> @foreach (var item in Materials) { <option value="@item.Id"> @item.MaterialName @item.Panel </option> } </select> <span class="main-price" id="priceDisplay">@item.Price</span> </div> 现在我们定义将请求发送到服务器的 AJAX 调用。该请求将获取所选选项的当前 id,然后将其转换为 JSON 字符串,发送到服务器进行处理。 url 是将在此调用中调用的操作方法: $(document).ready(function () { $("#ddlMaterial").change( function (event) { var id = $(this).val(); var json = {id : id}; $.ajax({ type: 'POST', url: "@Url.Action("GetPrice", "Home")", dataType : "json", data: {"json": JSON.stringify(json)}, success: function(data) { if(data.status=="true") { $("#priceDisplay").text(data.price); } else { alert('Some error'); } }, error: function(data) { alert('Some error'); window.location.reload(); } }); }); }); 最后你的 Controller 操作方法将是: using System.Web.Script.Serialization; [HttpPost] public JsonResult GetPrice(string json) { var serializer = new JavaScriptSerializer(); dynamic jsondata = serializer.Deserialize(json, typeof(object)); //Get your variables here from AJAX call var id = Convert.ToInt32(jsondata["id"]); //Get the price based on your id from DB or API call var getMyPrice=GetPrice(id); return Json(new {status="true", price= getMyPrice}); }

回答 1 投票 0

如何使用 ASP.Net Core @Html.DropDownListFor 指定默认选项?

我有一个 .cshtml 文件,如下所示: @Html.DropDownListFor( m => m.MyModel.YesNoQuestion, // IHtmlHelper htmlHelper 新的 SelectList(Enum.GetValues(...

回答 4 投票 0

从 ASP.NET 4.5 MVC 引用可移植类库 (PCL) 给出有关 List<>

我在尝试访问可移植类库中存在/引用的一些对象时遇到很多问题,这些对象的目标是: .NET框架4.5 ASP.NET 核心 5.0 视窗8 W...

回答 1 投票 0

rzc 发现已退出,代码为 -2147450743

我收到错误 “rzc discovery 退出,代码为 -2147450743” ...当我尝试编译我的网络应用程序时出错。当我单击错误时,它会将我带到 RazorTagHelper 行: <

回答 5 投票 0

Razor 组件 OnClick

我正在学习asp,遇到了blazor组件。我试图绑定到单击功能上的按钮,但是当我在线查看时,我发现功能如下: 我正在学习asp,遇到了blazor组件。我试图绑定到单击功能上的按钮,但是当我在线查看时,我发现功能如下: <button @onclick="SelectProduct(product.Id)" ... >More Info</button> 但是这段代码不会产生任何结果,如果我在 SelectProduct 函数中放置一个断点,它就永远不会被调用。 如果我把它改成这个,我在网上没有看到过,那只是我在玩它: <button onclick="@SelectProduct(product.Id)" ... >More Info</button> 然后调用fucntino,但仅在页面初始化时调用,并且似乎与on click函数无关。有人可以让我知道我应该怎么做吗?完整的 blazor 组件如下。 @using Models.Entity @using InventoryApplication.WebSite.Services @inject JsonProductService ProductService @{var products = ProductService.GetProducts();} <div class="card-columns"> @foreach (var product in products) { <div class="card"> <div class="card-body"> <h5 class="card-title">@product.DisplayName</h5> </div> <div class="card-footer"> <button @onclick="SelectProduct(product.Id)" data-bs-toggle="modal" data-bs-target="#productModal" class="btn btn-primary"> More Info </button> </div> </div> } </div> <div class="modal fade" id="productModal" tabindex="-1" role="dialog" aria-labelledby="productTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="productTitle">@selectedProduct?.DisplayName</h5> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> </div> <div class="modal-body"> @if (selectedProduct != null) { <div class="card"> <div class="card-body"> <p class="card-text">Category: @selectedProduct.Category</p> <p class="card-text">Quantity: @selectedProduct.Quantity</p> <p class="card-text">Price: $@(selectedProduct.Price.HasValue ? selectedProduct.Price.Value.ToString("F2") : "N/A")</p> </div> </div> } </div> </div> </div> </div> @code { Product? selectedProduct; Product SelectProduct(uint Id) { return selectedProduct = ProductService.GetProducts().FirstOrDefault(x => x.Id == Id); } } 确保方法签名正确:确保SelectProduct方法签名正确且与预期参数匹配。确保方法定义正确,如下所示: Product SelectProduct(uint Id) { return selectedProduct = ProductService.GetProducts().FirstOrDefault(x => x.Id == Id); } 验证单击事件绑定:确保 @onclick 事件绑定正确放置在按钮元素内,并且不会被其他脚本或样式覆盖或干扰。使用 lambda 表达式 @onclick="() => SelectProduct(product.Id)" 确保参数传递正确。 更多信息

回答 1 投票 0

在 Blazor 应用程序剃须刀页面选择下拉列表中加载页面时,选定的数据不显示

在下面的代码中,我有一个 标签,我在其中绑定 SelectedDate 的值。 当我加载时间表仪表板页面并选择一个值时,它会正确导航到该页面。登录... 在下面的代码中,我有一个 <select> 标签,我在其中绑定 SelectedDate 的值。 当我加载时间表仪表板页面并选择一个值时,它会正确导航到该页面。将值记录在 OnParametersSetAsync 和 OnInitializedAsync 内的控制台日志中,我可以看到这些值是正确的。在一些经过编辑的代码中,它适当地过滤了我的数据,并且所有图表都按预期加载并过滤了数据。 URI 显示正确的地址。 但是,选择元素显示空白。当我单击选择时,旁边带有复选标记的值是 FirstOrDefault 值。 我不太明白我在这里缺少什么,导致更改选择时值无法正确绑定和显示。 @page "/timesheet-dashboard" @page "/timesheet-dashboard/{StartDate}" @inject IJSRuntime JSRuntime @using valkyrie.Services.Timesheets @using valkyrie.Services.Crm; @inject TimesheetService TimesheetService; @inject DealService DealService; @inject TimesheetRecordService TimesheetRecordService; @inject IHttpContextAccessor HttpContextAccessor @inject NavigationManager NavigationManager @rendermode InteractiveServer <div class="container"> <div class="col-lg-4 mx-auto pb-3"> <select @bind="SelectedDate" @bind:event="onchange" class="form-select form-control-lg"> @foreach (var date in StartOfWeekDates) { <option value="@date.ToShortDateString()">@date.ToShortDateString()</option> } </select> </div> </div> @code { [Parameter] public string StartDate { get; set; } private DateTime selectedDate; public DateTime SelectedDate { get { return selectedDate; } set { if (selectedDate != value) { selectedDate = value; NavigationManager.NavigateTo($"/timesheet-dashboard/{selectedDate:yyyy-MM-dd}"); } } } private List<DateTime> StartOfWeekDates { get; set; } = new(); protected override async Task OnInitializedAsync() { DateTime someStartDate = DateTime.Now.AddDays(-30); DateTime someEndDate = DateTime.Now; var records = TimesheetRecordService.GetAllTimesheetRecords(); StartOfWeekDates = records .Where(rec => rec.Timesheet != null && rec.Timesheet.StartOfWeekDate >= someStartDate && rec.Timesheet.StartOfWeekDate <= someEndDate) .Select(rec => rec.Timesheet.StartOfWeekDate.Date) .Distinct() .OrderBy(date => date) .ToList(); selectedDate = !string.IsNullOrEmpty(StartDate) && DateTime.TryParse(StartDate, out DateTime date) ? date : StartOfWeekDates.FirstOrDefault(); } protected override async Task OnParametersSetAsync() { SelectedDate = !string.IsNullOrEmpty(StartDate) && DateTime.TryParse(StartDate, out DateTime date) ? date : StartOfWeekDates.FirstOrDefault(); } } 我期待 Select 元素显示当前选定的值。 您绑定到 DateTime,但在 string 中返回 <option value="@date.ToShortDateString()">。 这是代码的重构简单版本,它使用 bind:after 进行转换并在必要时进行导航调用。 @page "/" <PageTitle>Home</PageTitle> <h1>Hello, world!</h1> <div class="container"> <div class="col-lg-4 mx-auto pb-3"> <select @bind="SelectedDateString" @bind:event="onchange" @bind:after="OnAfterDateSet" class="form-select form-control-lg"> @foreach (var date in StartOfWeekDates) { <option value="@date.ToShortDateString()">@date.ToShortDateString()</option> } </select> </div> </div> <div class="bg-dark text-white m-2 p-2"> <pre>Date: @this.SelectedDate.ToLongDateString()</pre> </div> @code{ private List<DateOnly> StartOfWeekDates = new(); private string SelectedDateString = DateOnly.FromDateTime(DateTime.Now).ToShortDateString(); private DateOnly SelectedDate; protected override Task OnInitializedAsync() { StartOfWeekDates.Add(DateOnly.FromDateTime(DateTime.Now)); StartOfWeekDates.Add(DateOnly.FromDateTime(DateTime.Now.AddDays(-7))); StartOfWeekDates.Add(DateOnly.FromDateTime(DateTime.Now.AddDays(-14))); StartOfWeekDates.Add(DateOnly.FromDateTime(DateTime.Now.AddDays(-21))); StartOfWeekDates.Add(DateOnly.FromDateTime(DateTime.Now.AddDays(-28))); return Task.CompletedTask; } private Task OnAfterDateSet() { SelectedDate = DateOnly.Parse(SelectedDateString); // do you navigation here if you need to return Task.CompletedTask; } }

回答 0 投票 0

标准 HTML 编辑工具不解析 Razor;设计师删除了我的代码。怎么解决这个问题?

我正在建立一个概念验证网站,标准网页设计软件似乎并没有隐藏 Razor 语法(这并不奇怪)。令我困扰的是我过于热心的设计师会

回答 1 投票 0

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

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

回答 1 投票 0

如何修改使用 Typescript 在 cshtml 文件中创建的现有 DevExtreme JQuery DataGrid

我正在使用 DevExtreme JQuery 开发一个 Web 应用程序。在前端,我显示一个在 cshtml 文件中创建的 DataGrid。使用 DevExtreme,您可以向 DataGrid 操作添加添加按钮...

回答 1 投票 0

ASP.NET Core 8.0 Razor 页面:重写 _Layout.cshtml.css => {application}.styles.css 未找到 (404)

创建新的 .NET8.0 Razor Pages (ASP.NET Core) 项目后,我删除了 JQuery 和 Bootstrap 库。然后我编辑了_Layout.cshtml.css。运行项目时,我的 CSS 规则没有应用,b...

回答 1 投票 0

在 Blazor 上显示和隐藏密码之间切换

我想知道是否可以在密码输入字段上创建一个切换,使用户能够在隐藏或显示密码之间切换,而无需在...中使用 JavaScript

回答 1 投票 0

ASP.Net Razor Web 应用程序连接到 LocalDB 问题;此上下文中不存在数据库

我正在使用 VS 2013 从头开始编写 Razor 网站。我从一个空白的 Web 应用程序项目开始,慢慢添加文件和功能以满足我的需要。基本上它只是...

回答 1 投票 0

.Net Core MVC:如何在razor中获取部分视图名称

.Net Core MVC。 在我的所有视图和部分视图中,我使用这一行来获取其路径(url) @(this.ViewContext.View as Microsoft.AspNetCore.Mvc.Razor.RazorView).Path; (还有...

回答 1 投票 0

在运行时创建动态视图 asp.net mvc

我对mvc相当陌生,并且已经开始学习asp.net mvc 5和django 我想创建一个应用程序,用户可以在运行时创建新视图。假设我在网络中创建了一个功能...

回答 1 投票 0

如何将 Blazor NavigationManager 注入到我为 razor 页面创建子类的抽象类中

我在 Chat GPT 上来回了 10 多次,陷入了 CS7036 错误的无限循环中。我有一个 Blazor 项目,在其中创建了一个自定义抽象页面类 MyPage 子类 ComponentBase...

回答 1 投票 0

有关如何使用 Razor Pages 将一个数据库行复制到另一数据库行的一般指南

我有一个应用程序,用户希望能够输入客户的记录,然后将该记录复制到另一个客户。我想象在创建并保存记录后执行此操作。也许...

回答 1 投票 0

从控制器底座以表格形式显示错误

我已经实现了一个使用登录控制器的登录表单,该控制器充当基本控制器。虽然控制器功能正常,但我关心的是错误处理。遗憾的是,我是

回答 1 投票 0

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