Questions tagged «razor»

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

4
如何使用Html.BeginForm()命名表单?
如何使用ASP.NET MVC中的表单命名Html.BeginForm()?我只想要名称,而不想要动作或控制器名称,因为我想通过Javascript发布它。我认为应该是这样的Html.BeginForm(id = "frm")。 我尝试了以下方法: Html.BeginForm(null,null,new{id="frm",name="frm}) Html.BeginForm(new{@id="frm",@name="frm}) 但是上面的代码会产生如下输出: <form action="/Main/Index/Id?name=Id" method="post">

2
在ASP.net MVC 4中使用部分视图
我最近开始使用ASP.net MVC(4),但是我无法解决这个问题。我敢肯定,一旦您知道它就很容易。 我实质上是在索引视图中尝试执行以下操作: 在索引视图中列出类型为“ Note”的数据库中的当前项目(这很容易) 在同一索引视图中创建新项目(不是那么容易)。 因此,我认为我需要局部视图,并且已按如下所示创建了该视图(_CreateNote.cshtml): @model QuickNotes.Models.Note @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Note</legend> <div class="editor-label"> @Html.LabelFor(model => model.Content) </div> <div class="editor-field"> @Html.EditorFor(model => model.Content) @Html.ValidationMessageFor(model => model.Content) </div> <p> <input type="submit" value="Create" /> </p> </fieldset> } 在我原始的索引视图(Index.cshtml)中,我试图呈现此局部视图: @model IEnumerable<QuickNotes.Models.Note> @{ ViewBag.Title = "Personal notes"; } <h2>Personal notes</h2> <p> …


2
ASP.NET MVC 3 Razor递归功能
好的,所以我想显示一个包含列表列表的列表... 我无法知道要显示多少个级别,因此我认为这是我打破旧的递归例程的地方。 我在确切地如何解决这个问题上遇到了麻烦。 这是我到目前为止(鉴于-简化): @foreach(MyObject item in @Model.ListOfObjects){ <div> @item.Title </div> //Call recursive function? } 现在,这些对象中的每一个也都有一个List <MyObject>。我想显示此div以下的每个级别,例如每个级别都有一个缩进标签。 我本来想在这里使用Razor函数,但是在构建它时需要一些帮助。这是我的想法: @functions{ public static void ShowSubItems(MyObject _object){ if(_object.ListOfObjects.Count>0){ foreach(MyObject subItem in _object.listOfObjects){ // Show subItem in HTML ShowSubItems(subItem); } } } } 但是如您所见,我显然需要一些帮助:)

5
ASP.NET MVC获取文本框输入值
我有一个文本框输入和一些单选按钮。例如,我的文本框输入HTML如下所示: <input type="text" name="IP" id="IP" /> 用户单击网页上的按钮后,我想将数据传递到控制器: <input type="button" name="Add" value="@Resource.ButtonTitleAdd" onclick="location.href='@Url.Action("Add", "Configure", new { ipValue =@[ValueOfTextBox], TypeId = 1 })'"/> 也许这很琐碎,但我的问题是我不知道如何获取文本框值并将其传递给控制器​​。如何读取文本框值并将其传递给控制器ipValue=@[ValueOfTextBox]?

10
添加一个CSS类以使用@ Html.DropDownList()进行选择
经过多年的网络表单建设,我正在构建我的第一个MVC应用程序,由于某种原因,我无法完成这项工作: @Html.DropDownList("PriorityID", String.Empty, new {@class="textbox"} ) 错误信息: System.Web.Mvc.HtmlHelper<SPDR.Models.Bug>'不包含的定义 DropDownList最佳扩展方法重载System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, string, System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>, object)包含一些无效的参数 任何帮助,不胜感激!

3
为什么从Razor View接收POST请求时,我得到的是null而不是空字符串?
我以前没有值时会收到一个空字符串: [HttpPost] public ActionResult Add(string text) { // text is "" when there's no value provided by user } 但是现在我通过一个模型 [HttpPost] public ActionResult Add(SomeModel Model) { // model.Text is null when there's no value provided by user } 所以我必须使用?? ""运算符。 为什么会这样呢?

4
Razor / CSHTML-我们拥有什么好处?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 任何人都在使用新的CSHTML页面功能,并且发现他们比现有的ASP.NET MVC默认视图引擎或Web表单更喜欢这种新的视图引擎语法,如果是,为什么?与HTML相比,CSHTML会给您带来什么优势,反之亦然? 只是好奇地听到人们对此的看法。
75 c#  asp.net-mvc  razor 

5
MVC的当前上下文中不存在名称“脚本”
在我的mvc应用程序中,_Layout.cshtml中的代码如下... <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@ViewBag.Title - My ASP.NET Application</title> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> 但问题是它说The name 'Scripts' does not exists in the current context。 我已经将程序集添加到引用和Bundle配置中,如下所示: using System.Web.Optimization; @styles也会发生这种情况。我该怎么办?
75 c#  asp.net-mvc  razor 


7
如何在视图内加载局部视图?
我对这种局部看法非常困惑。 我想在我的主视图中加载局部视图。 这是简单的例子。 我正在将Homecontroller Index操作的Index.cshtml加载为主页面。 在index.cshtml中,我通过创建链接 @Html.ActionLink("load partial view","Load","Home") 在HomeController中,我添加了一个名为 public PartialViewResult Load() { return PartialView("_LoadView"); } 在_LoadView.cshmtl中,我只是 <div> Welcome !! </div> 但是,在运行项目时,index.cshtml会首先呈现并显示链接“ Load Partial View”。当我单击它时,它将转到新页面,以将来自_LoadView.cshtml的欢迎消息呈现为index.cshtml。 有什么事吗 注意:我不想通过AJAX加载页面或不想使用Ajax.ActionLink。

7
该视图必须派生自WebViewPage或WebViewPage <TModel>
我正在关注Justin Slattery的Plugin Architecture教程,并尝试使其适应Razor,而不是WebForm Views。 其他一切(控制器,插件程序集加载等)似乎都还可以。但是,我无法使嵌入式Razor视图正常工作。当我尝试浏览到“ HelloWorld / Index”时,出现以下错误: The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage&lt;TModel&gt;. 引发异常 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +262 如果需要,我可以包括完整的堆栈跟踪。 有人可以建议我做错什么吗?

18
Razor文件(.cshtml)中的IntelliSense停止工作
Intellisense在剃刀文件中不起作用: 在我的web.conifg文件中(在Views文件夹中)显然是正确的: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;configuration&gt; &lt;configSections&gt; &lt;sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"&gt; &lt;section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /&gt; &lt;section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /&gt; &lt;/sectionGroup&gt; &lt;/configSections&gt; &lt;system.web.webPages.razor&gt; &lt;host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt; &lt;pages pageBaseType="System.Web.Mvc.WebViewPage"&gt; &lt;namespaces&gt; &lt;add namespace="System.Web.Mvc" /&gt; &lt;add namespace="System.Web.Mvc.Ajax" …

10
为什么Visual Studio代码格式不能正确用于Razor标记?
或者,我宁愿问一下,什么时候VS代码格式化才能正确用于Razor标记?格式化适用于大多数结构,但似乎会阻塞“ if”块。下面的代码是由VS格式化的。用一个缩进来修复这种情况非常容易,但是我很好地接受了日常使用的格式设置,并且喜欢在我的大部分代码中经常使用它,因此,我尽可能避免使用手动格式设置。现在,我只是将其保留为VS格式。 @{ if (User.Identity.IsAuthenticated) { &lt;text&gt;Hello &lt;/text&gt; @Html.Display("@ViewBag.UserName") &lt;text&gt; - &lt;/text&gt; @Html.ActionLink("Sign Out", "LogOff", "Account", null, new { style = "font-weight: bold;" }) } } 我认为,对于可读性来说,重要的是,例如,上面的if块的主体要缩进,除了看起来更好。

22
剃刀视图看不到System.Web.Mvc.HtmlHelper
我正在升级到MVC4。我已按照http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806上的说明进行操作,但在Razor视图和布局中却出现类似以下错误 'System.Web.WebPages.Html.HtmlHelper'不包含'BeginRouteForm'的定义,也没有找到接受类型为'System.Web.WebPages.Html.HtmlHelper'的第一个参数的扩展方法'BeginRouteForm'缺少using指令或程序集引用?) 我也有类似的错误: “名称“ Viewbag”在当前上下文中不存在 当我将鼠标悬停在@Html上时,我可以看到它的类型为System.Web.WebPages.Html.HtmlHelper,而不是System.Web.Mvc.HtmlHelper 不确定是否还有其他相关信息,但这就是我的位置: 我尚未将sln中的类库等更新为.net 4.5。 该项目是在VS2010中创建的,但是我正在VS2012中进行迁移 该项目将打开并在VS2012,.Net 4.0,MVC 3中运行正常 任何指针表示赞赏。 编辑: web.config中的所有引用和文件已升级为: System.Web.Mvc,版本= 4.0.0.0 System.Web.WebPages,版本= 2.0.0.0 System.Web.Helpers,版本= 2.0.0.0 System.Web.WebPages.Razor,版本= 2.0.0.0 Edit(2): 在元素的/views/web.config(如果尝试在下面的@Paul的解决方案中,则为/views/shared/web.config)中,我有自己的基本类型,该基本类型继承自System.Web。 Mvc.WebViewPage,包含库中的引用已更新为MVC4,进入定义将我带到MVC4 dll。 新版本在这方面有什么变化吗?我看不到发行说明中的​​任何相关内容。

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.