Razor是ASP.NET网页和ASP.NET MVC使用的模板语言(自版本3开始)。它在HTML生成之上添加了一层抽象。它支持HTML标记和C#或VB代码之间的无缝转换。标记和代码之间的转换由“@”符号表示。
我的字符串是: string title = "钻石中的CaSiO3钙钛矿表明洋壳循环进入下地幔。" 我使用@Html.Raw(标题...
为什么从一个 Razor 组件到另一个(两者都在同一 RCL 中定义)的路由不起作用?
我的 .NET 8 解决方案中有两个最小的项目:一个 Blazor Web 服务器应用程序、交互式服务器渲染、带有 Home.razor 页面和一个 Razor 类库定义了两个组件:Schedule 和
我已经更改了我公司旧 ASP.NET 应用程序中可以找到的所有连接字符串,但它仍然指向相同的数据库
我正在尝试更改本地应用程序的数据库,但它一直指向旧数据库(我重命名了一些表以检查它是否在之后中断,确实如此)。 我已经寻找了联系
我有一个 razor 页面项目,我想在其中包含来自 blazor 客户端项目的组合程序。这两个项目都在 dotnet 6 中。 我设法让组件工作并传递一些值给它(v...
ASP.NET Core 8 Razor 页面将多个页面模型绑定到单个路由
我正在使用 ASP.NET Core 8.0.8。我的 razor 页面应用程序有一个动态 Table.cshtml 页面,其路由 @page "/table/{table}" 可以采用任何模型并显示关联的数据库
将信息从 Razor 客户端 (cshtml) 传递到 AngularJS
我有以下剃须刀文件: @{ ViewBag.Title = "废话"; 布局=“~/Views/Shared/_Layout.cshtml”; ViewBag.InitModule = "myFooModule"; } @部分脚本{ <p>我有以下剃须刀文件:</p> <pre><code>@{ ViewBag.Title = "Blah"; Layout = "~/Views/Shared/_Layout.cshtml"; ViewBag.InitModule = "myFooModule"; } @section Scripts{ <script src="~/Scripts/angular-route.js"></script> <script src="~/Scripts/angular-route.min.js"></script> <script src="~/js/recipes.js"></script> } <div data-ng-view </code></pre> <p>这是我的 angularjs 代码:</p> <pre><code>var testModule = angular.module("myFooModule", ['ngRoute']); appetizerModule.config(["$routeProvider", function ($routeProvider) { $routeProvider.when("/", { controller: "myController", templateUrl: "/Templates/test.html" }); $routeProvider.otherwise({ redirectTo: "/" }); }]); </code></pre> <p>我想将带有“myuserinfofromPage”这样的数据的变量从我的razor页面传递到我的angularJs,以便我可以使用该数据(“myuserinfofromPage”)来执行某些操作集。由于我是 AngularJS 的新手,我正在努力寻找一种干净的方式来传递数据。将简单数据从 Razor(cshtml) 传递到我的 Angular 代码的最佳方法是什么?</p> </question> <answer tick="false" vote="11"> <p>您可以将以下内容嵌入到您的剃刀页面中:</p> <pre><code> <script> app.value('myValue', @Html.Raw(Json.Encode(Model))) <script> </code></pre> <p>其中 Model 是您要渲染的 .NET 对象。</p> <p>然后将其注入到您的控制器中:</p> <pre><code> app.controller('ctrl', function($scope, myValue) { //use myValue }); </code></pre> </answer> <answer tick="false" vote="1"> <p>您可以将 json 格式的数据传递给您的视图,并在使用工厂引导数据后即:</p> <pre><code>testModule.factory('UserService', function () { var _userInfo= @Html.Raw(ViewBag.UserDataInJsonFormat); //<- your data is going here return { userInfo : _userInfo } } </code></pre> </answer> <answer tick="false" vote="0"> <p>感谢 Pixelbits 和 sylwester 的回复。我使用角度指令来传递元素数据并将其存储在角度控制器中的 $scope 变量中。参考:<a href="http://fdietz.github.io/recipes-with-angular-js/directives/passing-configuration-params-using-html-attributes.html" rel="nofollow">http://fdietz.github.io/recipes-with-angular-js/directives/passing-configuration-params-using-html-attributes.html</a></p> <pre><code><body ng-app="MyApp"> <div my-widget="Hello World"></div> </body> var app = angular.module("MyApp", []); app.directive("myWidget", function() { var linkFunction = function(scope, element, attributes) { scope.text = attributes["myWidget"]; }; return { restrict: "A", template: "<p></p>", link: linkFunction }; }); </code></pre> </answer> </body></html>
我的目标 我想将当前存储在数据库中的电话号码格式化为 1112223333,以显示为这种格式 111-222-3333。我只收集来自美国的电话号码。
我正在使用带有 Razor 引擎的 ASP.net MVC 4。 我有一个页面(Index.cshtml)和一个控制器(HomeController.cs) 我正在尝试将我的提交按钮连接到我的控制器中的操作结果 - ho...
在ASP.NET MVC 4 Razor中,如何获取@Html.Label的值(文本)?
很抱歉,我已尝试搜索,但没有收到与我的问题相关的任何信息。 我的看法: 确认 @using (Ajax.BeginForm("AdminDeleteResult", "Admin", ...
我有我的主页,在这个页面中我有一个包含对象的列表。通过 foreach 我得到了它的项目,如果您单击按钮,我想将项目传递到另一个页面。怎么才能通过呢?
我在 HTML 中有这个按钮: 我在 HTML 中有这个按钮: <div id="login"> <img src="/resource/image_header/login.png" alt="Login"> <div class="cd-main-nav js-main-nav"> <button id="welcome-text" type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title=""></button> <ul id="login-signup" class="cd-main-nav__list js-signin-modal-trigger"> <li><a id="logInButton" class="cd-main-nav__item js-signin-modal-trigger cd-main-nav__item--signin" data-type="login" data-signin="login">Đăng nhập</a></li> </ul> </div> 以及登录表单的弹出模式: <div id="login-popup" class="cd-signin-modal js-signin-modal"> <div class="cd-signin-modal__container"> <ul class="cd-signin-modal__switcher js-signin-modal-switcher js-signin-modal-trigger"> <li><a data-signin="login" data-type="login" style="font-weight: bold;">Đăng nhập</a></li> </ul> <div class="cd-signin-modal__block js-signin-modal-block" data-type="login"> <!-- log in form --> <form id="loginForm" class="cd-signin-modal__form"> <p class="cd-signin-modal__fieldset"> <label class="cd-signin-modal__label cd-signin-modal__label--email cd-signin-modal__label--image-replace" for="signin-email">Tên đăng nhập</label> <input class="cd-signin-modal__input cd-signin-modal__input--full-width cd-signin-modal__input--has-padding cd-signin-modal__input--has-border" id="signin-email" type="text" placeholder="Tên đăng nhập"> <span class="cd-signin-modal__error">Bạn chưa nhập tên đăng nhập!</span> </p> <p class="cd-signin-modal__fieldset"> <label class="cd-signin-modal__label cd-signin-modal__label--password cd-signin-modal__label--image-replace" for="signin-password">Mật khẩu</label> <input class="cd-signin-modal__input cd-signin-modal__input--full-width cd-signin-modal__input--has-padding cd-signin-modal__input--has-border" id="signin-password" type="password" placeholder="Mật khẩu"> <span class="cd-signin-modal__error">Bạn chưa nhập mật khẩu!</span> </p> <p class="cd-signin-modal__fieldset"> <input type="checkbox" id="remember-me" checked class="cd-signin-modal__input "> <label for="remember-me">Ghi nhớ</label> </p> <p class="cd-signin-modal__fieldset"> <input id="loginButton" class="cd-signin-modal__input cd-signin-modal__input--full-width" type="submit" value="Đăng nhập"> </p> </form> <p class="cd-signin-modal__bottom-message js-signin-modal-trigger">Bạn chưa có tài khoản?<a id="signupButton" href="javascript:void(0)">Đăng ký ngay</a></p> </div> <!-- cd-signin-modal__block --> </div> 这是单击按钮 id="logInButton" 时打开表单的 JavaScript: function ModalSignin(element) { this.element = element; this.blocks = this.element.getElementsByClassName('js-signin-modal-block'); this.switchers = this.element.getElementsByClassName('js-signin-modal-switcher')[0].getElementsByTagName('a'); this.triggers = document.getElementsByClassName('js-signin-modal-trigger'); this.hidePassword = this.element.getElementsByClassName('js-hide-password'); this.init(); }; ModalSignin.prototype.init = function () { var self = this; //open modal/switch form for (var i = 0; i < this.triggers.length; i++) { (function (i) { self.triggers[i].addEventListener('click', function (event) { if (event.target.hasAttribute('data-signin')) { event.preventDefault(); self.showSigninForm(event.target.getAttribute('data-signin')); } }); })(i); } } 单击按钮时我尝试通过 console.log("Clicked!") 进行调试,但事件没有发生。按钮是否被挡住了? 我认为id为login-signup的元素还没有成功绑定事件。和你提供的js不完整有关系吗
我需要帮助,我需要将包含隐藏字段的html表单提交到另一个URL隐藏字段的值其中一些是静态的,其中一些是webfo中的动态(来自代码隐藏)...
扩展 IHtmlHelper - 检查 MyEditorFor 中属性的 DataTypeAttribute
我正在制作自己的 Html.EditorFor 方法,我想在其中检查给定属性的 DataTypeAttribute 。获取 ViewData.Model 的类型很容易。但如果该财产来自不同的地方...
有没有办法确定视图是否渲染为部分视图? 我希望通过捕捉这个来扩展我正在编写的部分的重用......并且如果需要的话分配适当的布局t......
首先,我在“视图”>“博客”>“显示模板”中有一个显示模板: @model Domain.Model.BlogPost @Html.ActionLink(Model.Title, "post", new { Id = Model.PostID }... 首先,我在“视图”>“博客”>“显示模板”中有一个显示模板: @model Domain.Model.BlogPost <div class="blogSummary"> @Html.ActionLink(Model.Title, "post", new { Id = Model.PostID }, new { @class = "titleLink" }) <div class="subInfo"> Posted by @Model.Author on @Model.PostedDate.ToString("D") | @Model.PostComments.Count Comment(s)</div> <br /> <div class="summaryText"> @Html.Markdown(Model.Body.Length > 300 ? Model.Body.Remove(0, 300) + "..." : Model.Body) @Html.ActionLink("(view more)", "post", new { Id = Model.PostID }) </div> </div> 那么我有一个看法: @model IEnumerable<Domain.Model.BlogPost> @{ ViewBag.Title = "Index"; } @Html.DisplayFor(x => x, "BlogPostSummary") 但是,我在 DisplayFor(): 上遇到错误 模型项传入 字典的类型是 'System.Data.Objects.ObjectSet`1[Domain.Model.BlogPost]', 但这本词典需要一个模型 类型为“Domain.Model.BlogPost”的项目。 我有点难以理解发生了什么。使用显示模板的最佳方式是什么? 问题是您正在尝试传递一组 BlogPost,而需要的是单个 BlogPost。 尝试: @Html.DisplayFor(x => x[0], "BlogPostSummary") 或者类似的东西: @foreach (var post in Model) @Html.Display(post) 注意:我不相信第二个示例是否正确使用了 Html.Display。我怀疑使用部分代码而不是显示模板会更好。 UI提示 默认情况下,ASP.NET MVC 依赖命名约定将类链接到 BlogPost.cshtml 显示模板。但是,如果您想使用 CustomBlogPost.cshtml 作为显示模板,则可以通过应用 BlogPost 属性来实现。 UIHint 也许可以试试这个 public class DomainModel { [UIHint("CustomBlogPost")] public BlogPost Post { get; set; } } 我一直在研究同样的问题,我想我有更好的解决方案给你。 您可以循环遍历集合,并且仍然可以正常工作: @Html.DisplayFor(x => x.First(), "BlogPostSummary") 在 lambda 表达式的左侧使用变量并不一定要求您也在右侧使用它。 @foreach(var blogPost in Model) { Html.DisplayFor(x => blogPost, "BlogPostSummary") } 期待 DisplayFor。 TModel 是模型的类型,例如 Expression<Func<TModel, TValue>>,但 TValue 可以是您喜欢的任何类型。 因此,只要您拥有对集合中当前项目的引用(如上面的 foreach 所示),您就可以忽略 lambda 表达式的左侧。 (但是你必须拥有 TModel。IEnumerable<BlogPost>不起作用。) 基本上是因为执行 Html.DisplayFor(() => blogPost, "BlogPostSummary") 隐式告诉 MVC 要传递的模型是传递视图的模型,即 @Html.DisplayFor() 您需要做的是枚举模型,并显示每个模型: IEnumerable<Domain.Model.BlogPost> 确保 BlogPostSummary 位于正确的文件夹中,然后就可以开始了! Necro'ing 抱歉:只是添加一个答案,因为这些都没有使用请求者询问的自动 ID。问题是您正在使用命名模板调用 DisplayTemplate 帮助程序。由于某些未知原因,ASP .Net 和 ASP .Net Core 在指定模板名称时禁用自动名称和 ID 处理。您应该将显示模板重命名为 @foreach(var blogPost in Model){ Html.RenderPartial("BlogPostSummary", blogPost) } 并从调用站点中删除 /Views/Shared/DisplayTemplates/BlogPost.cshtml。所以: 模板BlogPostSummary/Views/Shared/DisplayTemplates/BlogPost.cshtml 无论您在何处尝试引用它: @model Domain.Model.BlogPost <div class="blogSummary"> @Html.ActionLink(Model.Title, "post", new { Id = Model.PostID }, new { @class = "titleLink" }) <div class="subInfo"> Posted by @Model.Author on @Model.PostedDate.ToString("D") | @Model.PostComments.Count Comment(s)</div> <br /> <div class="summaryText"> @Html.Markdown(Model.Body.Length > 300 ? Model.Body.Remove(0, 300) + "..." : Model.Body) @Html.ActionLink("(view more)", "post", new { Id = Model.PostID }) </div> </div>
我正在尝试使用 AJAX 在 .Net Razor 中使用实时搜索栏,看起来它返回整个页面,而不是仅返回我的部分页面。我正在尝试用
我有一个复选框(有宠物?)和一个带下拉列表的宠物输入字段(“狗”、“猫”、“其他”)。 如果用户勾选了复选框,我想让宠物输入字段成为必填字段,并且用户必须选择...
我已经在 Blazor 项目的 RCL 中实现了身份验证。当我单击“注册”链接时,它显示“恢复”页面(来自 RCL)。当我单击“提交”时,它正在 Aspnetuser 中创建用户数据
我有一个复选框(有宠物?)和一个带下拉列表的宠物输入字段(“狗”、“猫”、“其他”)。 如果用户勾选了复选框,我想让宠物输入字段成为必填字段,并且用户必须选择...
在 ASP.NET Core MVC 中是否可以制作包含复选框列表的下拉列表?
我正在为 C# 课程开发一个 scrum 项目,我需要为文章列表制作一个过滤器表单,这样人们就可以选择尽可能多或尽可能少的类别来显示文章。我就是这样做的...