Tag: razor

打印和/或修改razor编译器服务用于编译cshtml的c#版本

我希望能够找出razor用来编译我的cshtml模板的C#版本。 我想要这个的原因是这个突破性的变化 。 我们在foreach语句中有一个lambda,它在我们的本地开发机器上工作正常但在我们的测试环境中产生了一个错误(没有安装C#5)。 这个错误非常难以调试(我们甚至复制了所有测试环境DLL和数据库,但仍然无法重现该错误)。 因此,为了防止将来这种开发/测试的差异,我想知道是否有一种方法来指定razor应该用来编译cshtml文件的C#版本。 如果我能检查剃刀使用的C#版本(通过打印它)也会很好。 更新:根据要求,有关此行为如何发生的更多详细信息。 我们使用devexpress mvc网格在我们的剃刀视图中显示数据。 要以动态方式添加列,我们循环(foreach)一个列表,该列表在datagrid中插入列(使用lambda)。 一个简化的例子: @Html.DevExpress().GridView( settings => { settings.Name = “gvDashboard”; //Some more settings settings.Columns.Add(column => { column.FieldName = Model.DashboardItems.PropertyName(p => p.Id); column.Caption = “Id”; //Some more column settings }); foreach (var extraColumnLoopVar in Model.ExtraColumns) { //We added this to solve the problem var extraColumn = extraColumnLoopVar; […]

如何创建具有多个选定值的SelectList?

我正在尝试在选择列表中设置多个值: SelectList List = new SelectList(MyListItems, “valField”, “dataField”, ); 我用什么对象/值来选择多个项目?

MVC中的Razor页面在System.Web.Helpers找不到时发出编译错误

我的剃刀视图无法编译,出现以下错误: Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: CS0234: The type or namespace name ‘Helpers’ does not exist in the namespace ‘System.Web’ (are you missing an assembly reference?) 我添加了System.Web.Helpers作为对我的项目的引用,所以我不确定我还需要做什么。 我在添加引用后也尝试了一个干净的重建,没有任何改变。 我错过了什么?

动态MVC RadioButton组选择的答案

我有一个动态填充的问题和答案列表。 两个问题: 回发后不显示问题和答案 缺少所选答案 视图模型 public class RegistrationViewModel : RegisterExternalLoginModel { //…etc… public Question Question { get; set; } public Answer Answer { get; set; } public List Questions { get; set; } public IList PossibleAnswers { get; set; } public List SelectedAnswers { get; set; } public IList PreviousAnswers { set { foreach(Question q […]

在Visual Studio中安装DataTable Jquery插件

我正在关注与Razor Views相关的Jquery的简短教程,我正在尝试安装DataTables Jquery插件。 我正在使用ASP.net MVC,这是我第一次尝试安装Jquery插件。 我有一个索引视图,我想更改使用DataTable插件显示的表,我已经下载了插件,接下来我试图在Scripts文件中复制整个插件并从我的索引视图中引用jquery.dataTables,在解决方案资源管理器中,DataTables插件文件的颜色为白色,就像显示它有问题一样。 我在教程中读到使用此插件的正确方法是使用View中的引用,例如: @section PageScripts{ 我试过这种方式,表不会修改。 我在想,我没有考虑安装这个插件的明显事实。 我已经读过在App_Start文件夹中使用BundleConfig来引用Jquery脚本,然后从这样的视图中调用它们: @section Scripts { @Scripts.Render(“~/bundles/jquerydatatable”) } Razor Views中的最佳实践是使用BundleConfig吗? 索引视图: @model IEnumerable @{ ViewBag.Title = “Index”; } //some other content here… @section Scripts { @Scripts.Render(“~/bundles/jquerydatatable”) } 如果我在Visual Studio目录中手动复制文件,则显示白色文件而不是javascript图标:

ASPNET MVC 5 Html帮助器Action方法查看结果输入id丢失(有时..)可能的Bug?

要重新创建我正在设置的问题,我已经设置了两个简单的控制器操作,两个视图和一个视图模型: MultiForms Action(在窗体控制器类中) public class FormController : Controller { [HttpGet] public ActionResult MultiForms() { return View(“MultiForms”); } // … MultiForms.cshtml – Razor View @Html.Action(“MyFormGet”, “Form”) 请注意,在action方法中,我调用了返回表单局部视图的controller方法。 MyFormGet动作 [HttpGet] public PartialViewResult MyFormGet() { var viewModel = new MyFormViewModel(); ViewData.TemplateInfo.HtmlFieldPrefix = Guid.NewGuid().ToString().Replace(“-“, “_”); return PartialView(“MyForm”, viewModel); } 查看模型 public class MyFormViewModel { public string TextInput1 { get; […]

将ViewModel传递给Layout.cshtml中的部分视图调用

背景 我正在尝试在我正在使用的MVC应用程序上使用Dashboard模板。 我不确定如何将ViewModel传递给我称为Header的顶部栏。 码 在我的_Layout.cshtml ,我像这样拆分HTML: @Html.Partial(“_Header”) @Html.Partial(“_Sidebar”) @RenderBody() 我猜这是错的,因为现在我无法将ViewModel传递给标题部分,或者如果我可以,我们不应该这样做? 分裂这个的正确方法是什么?

从布局页面ASP.NET MVC3 RAZOR访问会话变量

我想从布局母版页访问会话变量,但是你不能在布局页面中有一个模型,那么我该如何访问这个变量呢?

如何将此图像源转换为Url.Content?

我有以下图像以这种方式呈现。 我希望如果可能的话,它的src属性将被更改为Url.Content。 我试过的是这个,但我的问题是它将我的模型视为字符串: 谁能帮我? Path和Filename的值如下: Model.FloorPlan.Floor_Plan_Image_Path =“/ Content / Uploads / FloorPlans / 00004601 /”Model.FloorPlan.Floor_Plan_Image_Filename =“testfloorplan.png”

如何在MVC视图中循环访问DataAnnotation的DisplayName?

我想访问DataAnnotation的DisplayName和模型类的类似GroupName ,然后在MVC视图中循环。 例如,让我说我的一个模型属性是这样的 public class Person { [Display(Name=”Home Phone”,GroupName=”Home”)] public string HomePhone { get; set; } [Display(Name = “Home Address”, GroupName = “Home”)] public string HomeAddress { get; set; } [Display(Name = “Office Phone”, GroupName = “Office”)] public string OfficePhone { get; set; } [Display(Name = “Office Address”, GroupName = “Office”)] public string OfficeAddress { […]