Questions tagged «razor»

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

2
将HTML表发布到ADO.NET DataTable
我的视图中有一个HTML表格,如下所示: <table id="tblCurrentYear"> <tr> <td>Leave Type</td> <td>Leave Taken</td> <td>Leave Balance</td> <td>Leave Total</td> </tr> @foreach (var item in Model.LeaveDetailsList) { <tr> <td>@Html.TextBoxFor(m => item.LeaveType, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveTaken, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveBalance, new { width = "100" })</td> <td>@Html.TextBoxFor(m => item.LeaveTotal, …

6
在.NET Core中在MVC之外使用Razor
我想将Razor用作我在.NET Core中编写的.NET控制台应用程序中的模板引擎。 我遇到的独立Razor引擎(RazorEngine,RazorTemplates)都需要完整的.NET。我正在寻找一种适用于.NET Core的解决方案。
71 c#  .net  razor  .net-core 


3
在构建期间检查剃刀错误
Visual Studio(我正在使用2010)是否有一种方法可以像在C#项目中的其他代码一样在构建过程中在剃刀视图中查找错误? 您可以检查代码中的任何错误并认为一切都很好,这很痛苦,但是似乎您无法确定视图,除非您仔细查看每个视图。 顺便说一句,我显然不在我的视图中编写代码-例如,我只是在谈论HTML或URL扩展方法。

7
如何在ASP.MVC中指定多行Editor-For的列和行?
在ASP.MVC 3中,如何指定多行EditorFor(文本区域)的列和行?我正在使用[UIHint("MultilineText")],但找不到有关如何为文本区域添加属性的任何文档。 所需的HTML: <textarea cols="40" rows="10"></textarea> 我的MVC 3模型的相关部分: [UIHint("MultilineText")] public string Description { get; set; } 我的Razor cshtml的相关部分: <div class="editor-field"> @Html.EditorFor(model => model.Description) </div> 我所得到的看法来源: <div class="editor-field"> <textarea class="text-box multi-line" id="Description" name="Description"></textarea> </div> 如何设置行和列?

11
在.NET Core中以字符串形式返回视图
我找到了一些文章,介绍如何在ASP.NET中将视图返回到字符串,但是无法隐蔽任何内容以使其能够在.NET Core中运行 public static string RenderViewToString(this Controller controller, string viewName, object model) { var context = controller.ControllerContext; if (string.IsNullOrEmpty(viewName)) viewName = context.RouteData.GetRequiredString("action"); var viewData = new ViewDataDictionary(model); using (var sw = new StringWriter()) { var viewResult = ViewEngines.Engines.FindPartialView(context, viewName); var viewContext = new ViewContext(context, viewResult.View, viewData, new TempDataDictionary(), sw); viewResult.View.Render(viewContext, …

10
如何在新标签页中打开剃刀动作链接?
我试图让我的链接在新标签页中打开(它必须为剃须刀格式): <a href="@Url.Action("RunReport", "Performance", new { reportView = Model.ReportView.ToString() }, new { target = "_blank" })" type="submit" id="runReport" class="button Secondary">@Reports.RunReport</a> 虽然这不起作用。有人知道怎么做吗?
69 c#  html  razor 

5
是否可以将JavaScript放在部分视图中
我正在使用Web应用程序,其中主页包含两个部分:始终可见的常量块和由3个局部视图之一组成的信息块。每个部分视图都是AJAX请求的结果,并且仅被加载一次(由jquery提供切换窗口之后)。它运作良好,但我遇到了一个问题。 部分视图的html代码包含在常量块和信息块中使用的js函数。加载页面后,这些函数可以互相“看到”并且可以工作,但是resharper找不到函数声明并就此警告我。由于无法在其代码中找到剃刀语法,因此无法通过将它们传输到外部js文件来解决问题。 我该怎么办? 谢谢。 更新: 最后,我决定解决将我的js代码与视图分离的问题。因此,新的问题是如何将razor语法包含在js文件中,或者可以接受的替代方法是什么。我发现的流行解决方案是使用全局变量,数据属性以及我更喜欢的解决方案-John Katsiotis的RazorJS库。 http://djsolid.net/blog/razorjs---write-razor-inside-your-javascript-files 我希望它能稳定工作并使Resharper开心。 干杯! 更新: 3年后,我想起了这个问题,并决定根据我的经验对其进行更新。实际上,我现在不建议为此使用其他库。尤其是如果您不是项目团队中的唯一成员…最好在所有库中确保它们得到创建者和社区的支持,并且可以轻松集成到您的IDE中(例如,使用特殊语法) 。此外,您团队中的所有人员都应该知道它是如何工作的。所以现在我建议做以下事情: 将所有JS放在单独的文件中。尽可能地隔离它。为此提供外部API。 从您的视图中调用API函数。 将所有Razor生成的URL,文本消息,常量作为资源参数传递。 例如: js文件: $.api.someInitFunction = function(resources){ ... } 视图: <script> $.api.someInitFunction({ urls: { myAction: '@Url.Action("MyAction", "MyController")' }, messages: { error: '@errorMessage' }, consts: { myConst: @myIntConst } }); </script>


2
如何使用MVC3 Razor从Viewbag呈现HTML
我正在尝试通过使用Viewbag将表单元素传递到MVC3视图中,并简单地将HTML写入页面... 在控制器中: ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">"; 鉴于(我知道我可以在表格中使用助手): <form action="http://exampleurl/examplepage" method="post" id="example-form"> @ViewBag.myData <input type="hidden" name="anotherexample" value="anotherexamplevalue" /> </form> 这会将myData呈现为HTML中的文本,即: <type="hidden" name="example" value="examplevalue"> 所以我的问题是我如何让Razor做到与旧版相同: <%= myData %> 而不是替换<> 谢谢保罗

2
如何在Razor视图中使用新的c#8.0功能
我已经更新了ASP.NET Mvc 5 Web应用程序,以通过Visual Studio 2019使用新的c#8.0功能,并且一切正常,直到我尝试在Razor视图中使用这些新功能为止。 例如,如果我尝试使用新的switch表达式: @{ ViewBag.Title = "About"; var foo = 1; var bar = foo switch { 1 => "one", 2 => "two", _ => string.Empty }; } <h2>@ViewBag.Title.</h2> <h3>@ViewBag.Message</h3> <p>Use this area to provide additional information.</p> 直到我尝试访问该页面时,编译器才会抱怨,这给了我编译错误。 我怀疑Microsoft.CodeDom.Providers.DotNetCompilerPlatform必须更新,但似乎没有可用的更新。 有什么方法可以在Razor视图中使用c#8.0语言功能?
14 c#  asp.net-mvc  razor 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.