Tag: razor

如何在cshtml模板中创build一个函数?

我需要创build一个只需要在一个cshtml文件中的函数。 您可以将我的情况想象为ASP.NET页面方法,这是在页面中实现的最小Web服务,因为它们被限定为一个页面。 我知道HTML助手(扩展方法),但我的function只需要在一个cshtml文件。 我不知道如何在视图中创build一个函数签名。 注意 :我正在使用Razor模板引擎。

如何将一个类属性添加到由MVC的HTML助手生成的HTML元素?

ASP.NET MVC可以使用HTML Helpers生成HTML元素,例如@Html.ActionLink() , @Html.BeginForm()等等。 我知道我可以通过创build一个匿名对象来指定表单属性,并为该元素(在本例中为第四个) htmlAttributes参数指定一个id : Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"}) 但是class属性呢? 显然这不起作用: Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"}) 因为这只是在请求我的视图时抛出随机的语法错误,因为在遇到C#关键字class之后,它会遇到其他问题。 我也试过: new { _class = "myclass"} 和 new { class_ = "myclass"} 但他们也没有工作,因为下划线被破折号取代 。 我知道我也可以手动编写HTML元素,或者将表单封装在<div class="myClass"> ,但是我仍然有兴趣知道应该如何完成。

MVC 4 @Scripts“不存在”

我刚刚创build了一个ASP.NET MVC 4项目,并使用Visual Studio 2012 RC创build了一个控制器和Razor视图Index和Create操作。 当我来运行应用程序,并浏览到Create视图时,显示以下错误: 编译器错误消息:CS0103:当前上下文中不存在“脚本”名称 问题是自动添加到视图底部的以下代码: @section Scripts { @Scripts.Render("~/bundles/jqueryval") } 为什么脚本不存在? 我查看了Assembly System.Web.Mvc.dll,v4.0.0.0中的基本Web页类 我可以看到以下帮助属性可用: 阿贾克斯 HTML url 但没有任何命名的脚本。 有任何想法吗? 编辑: 我的Web.config文件看起来像这样(与Visual Studio创build的文件不同): <system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> </namespaces> </pages> </system.web.webPages.razor> 编辑#2: 人们正在写关于使用@Scripts帮手的博客: SCOTT […]

ASP.NET中的HTML.ActionLink与Url.Action Razor

HTML.ActionLink与Url.Action之间有什么区别,或者他们只是两种做同样的事情? 我应该什么时候比另一个更喜欢?

如何在Razor中声明局部variables?

我正在开发一个在asp.net mvc 3中的Web应用程序。我对它很新。 在使用剃刀的视图中,我想声明一些局部variables并在整个页面中使用它。 如何才能做到这一点? 能够做到以下行为似乎相当微不足道: @bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName); @if (isUserConnected) { // meaning that the viewing user has not been saved <div> <div> click to join us </div> <a id="login" href="javascript:void(0);" style="display: inline; ">join</a> </div> } 但是这不起作用。 这可能吗?

如何在ASP.NET MVC 3razorViewStart文件中指定不同的布局?

我想在我的应用程序中有2个单独的布局。 假设一个用于网站的公共部分,另一个用于会员方。 为了简单起见,可以说每个站点的所有逻辑被整齐地包裹到2个不同的控制器中。 PublicController StaffController 而且他们每个都有一个对应的布局。 _PublicLayout.cshtml _StaffLayout.cshtml 如何使用_ViewStart.cshtml文件指定“Public”下的所有View / Action使用PublicLayout,“Staff”下的所有内容都使用StaffLayout? 谢谢!

Styles.Render在MVC4中

在.NET MVC4项目中, @Styles.Render是如何工作的? 我的意思是,在@Styles.Render("~/Content/css")哪个文件调用? 我没有在我的Content文件夹中有一个叫“css”的文件或文件夹。

ASP.NET MVC 3:用TextBoxFor覆盖“name”属性

使用Html.TextBoxFor来覆盖name属性是否可能? 我尝试过没有成功。 我需要使用TextBoxFor获取客户端validation工作,但是由于我不会去的原因,我需要的文本框的名称不同于生成的。 我已经尝试了以下内容: @Html.TextBoxFor(x => x.Data, new { name = Model.Key + "_Data", id = Model.Key + "_Data" }) 哪个适用于ID而不是名称。 这可能吗? 更新 :查看TextBoxFor的代码。 这看起来不是一个简单的方法。 希望有人能certificate我错了。

ASP.NET MVC DropDownListFortypes为List <string>的模型

我有一个types为List的模型的视图,我想在页面上放置一个下拉列表,列表中包含列表中的所有string作为下拉列表中的项目。 我是MVC的新手,我怎么做到这一点? 我试过这个: @model List<string> @Html.DropDownListFor(x => x) 但是抛出了一个错误。 任何帮助表示赞赏。

Razor的意见可以编译?

我想知道是否可以编译Razor视图,如基于WebForm的视图? 编译Razor视图是否有意义?为什么有人想要这样做?