Questions tagged «asp.net-mvc-3»

ASP.NET MVC 3是Model-View-Controller扩展的第三个主要版本,用于在.NET框架中开发Web应用程序。


2
我应该如何在MVC3中使用代码优先实体框架(4.1)声明外键关系?
我一直在寻找有关如何使用代码优先EF 4.1声明外键关系和其他约束的资源,但运气不佳。基本上,我正在代码中构建数据模型,并使用MVC3查询该模型。一切都可以通过MVC来完成,这很棒(对Microsoft很赞!),但是现在我希望它不起作用,因为我需要数据模型约束。 例如,我有一个Order对象,该对象具有大量作为外部对象(表)的属性。现在,我可以毫无问题地创建订单,但是不能添加外键或外部对象。MVC3设置没有问题。 我意识到我可以在保存之前将自己添加到控制器类中,但是如果未满足约束关系,我希望对DbContext.SaveChanges()的调用失败。 新的消息 因此,特别是,当我尝试在不指定客户对象的情况下尝试保存Order对象时,我希望发生异常。如果我只是按照大多数Code First EF文档中的说明组成对象,这似乎就不是行为。 最新代码: public class Order { public int Id { get; set; } [ForeignKey( "Parent" )] public Patient Patient { get; set; } [ForeignKey("CertificationPeriod")] public CertificationPeriod CertificationPeriod { get; set; } [ForeignKey("Agency")] public Agency Agency { get; set; } [ForeignKey("Diagnosis")] public Diagnosis PrimaryDiagnosis …

8
使用编辑器/显示模板中的部分
我想将所有JavaScript代码都放在一个部分中;就body在我的主版式页面上的结束标记之前,只是想知道最好的方法,MVC样式。 例如,如果我创建一个DisplayTemplate\DateTime.cshtml使用jQuery UI的DateTime Picker 的文件,而不是将JavaScript直接嵌入该模板中,那么它将呈现中间页。 在我的普通视图中,我可以先使用@section JavaScript { //js here }然后@RenderSection("JavaScript", false)在主布局中使用,但这在显示/编辑器模板中似乎不起作用-有什么想法吗?

9
使用Razor / MVC3将AssemblyVersion放入网页时出现问题
我在_Layout.cshtml文件的页脚中使用以下代码,将AssemblyInfo版本数据放入MVC3站点中每个页面的页脚中。然而: @System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 只需在页脚中打印: Revision 0.0.0.0 当我修改视图以使用以下命令显示“执行装配”的所有装配信息时 @System.Reflection.Assembly.GetExecutingAssembly().GetName().ToString() 打印以下内容: Revision App_Web__layout.cshtml.639c3968.hlogy75x, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 这表明“执行程序集”不是我的主要应用程序,而是视图本身。 如何获得ACTUAL应用程序的装配信息,而不仅仅是单个视图?

1
Html.RenderPartial给我奇怪的重载错误?
我制作了一个名为_Test.cshtml的测试部分页面,并将其放置在与要调用它的视图相同的目录中,这里是: <div>hi</div> 在调用cshtml视图中,我只需输入: @Html.RenderPartial("_Test") 这给了我错误: CS1502:“ System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)”的最佳重载方法匹配具有一些无效的参数 我也尝试了相同结果的完整路径。 我很困惑为什么这样做,我想我缺少一些简单的东西?


12
从局部填充剃刀区
我尝试执行此操作的主要动机是,仅在页面底部将部分代码与其余Javascript一起使用,而不是在呈现部分代码的页面中间,获取Javascript。 这是我要执行的操作的简化示例: 这是在正文之前的“脚本”部分的布局。 <!DOCTYPE html> <html> <head> <title>@ViewBag.Title</title> <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> </head> <body> @RenderBody() <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> @RenderSection("Scripts", false) </body> </html> 这是使用此布局的示例视图。 <h2>This is the view</h2> @{Html.RenderPartial("_Partial");} @section Scripts { <script type="text/javascript"> alert("I'm a view."); </script> } 这是从视图渲染的部分图像。 <p>This is the partial.</p> @* this never makes it into …

19
基于剃刀的视图看不到引用的程序集
我试图基于另一个程序集中的类创建一个强类型视图。但是,无论出于何种原因,我的Razor视图似乎都看不到项目中引用的其他程序集。例如 @model MyClasses.MyModel 在Visual Studio 2010中导致错误,“ MyClasses找不到类型或名称空间名称(您是否缺少using指令或程序集引用?)。” 标准视图引擎中引用的同一类可以正常工作。尝试在我的视图主体中引用该类也遇到了同样的麻烦。 我是否缺少有关Razor的信息,还是需要以其他方式引用程序集?



5
在jquery中使用AJAX Post的正确方法可以从强类型MVC3视图传递模型
我是Web程序员的新手,所以如果我的某些“行话”不正确,请原谅我。我有一个使用MVC3框架的ASP.NET项目。 我正在管理员视图上,管理员将在其中修改设备列表。功能之一是“更新”按钮,在将帖子发送到MVC控制器后,我想使用jquery动态编辑网页上的条目。 我认为这种方法在单个管理员设置中是“安全的”,在这种情况下,网页与数据库不同步的担忧最小。 我创建了一个强类型化的视图,希望使用AJAX发布将模型数据传递给MVC控件。 在下面的文章中,我发现了与我正在做的事情类似的事情: 导致空参数的JQuery Ajax和ASP.NET MVC3 我将使用以上文章中的代码示例。 模型: public class AddressInfo { public string Address1 { get; set; } public string Address2 { get; set; } public string City { get; set; } public string State { get; set; } public string ZipCode { get; set; } public …

3
在IIS7上使用MVC3时,如何启用gzip压缩?
有人知道如何在MVC 3中启用gzip压缩吗?我正在使用IIS7。 Google Chrome审核的结果: 启用gzip压缩(4) 使用gzip压缩以下资源可以将其传输大小减少大约三分之二(〜92.23KB): / mydomain /可以节省〜1.53KB jquery-1.4.4.min.js可以节省〜51.35KB Cufon.js可以节省〜11.89KB Futura.js可以节省〜27.46KB

3
使用Razor MVC3的条件HTML属性
变量strCSSClass通常具有一个值,但有时为空。 我不想在此输入元素的HTML中包含一个空的class =“”,这意味着如果strCSSClass为空,我根本就不需要class =属性。 以下是执行条件HTML属性的一种方法: <input type="text" id="@strElementID" @(CSSClass.IsEmpty() ? "" : "class=" + strCSSClass) /> 有没有更优雅的方式做到这一点?具体来说,我可以遵循与元素其他部分中使用的相同的语法:class =“ @ strCSSClass”?

4
剃刀不理解未封闭的html标签
使用RazorViewEngine,我可以做到这一点: if (somecondition) { <div> some stuff </div> } 但我似乎无法做到这一点(Razor感到困惑): if (somecondition) { <div> } if (someothercondition) { </div> } 我遇到需要将打开和关闭html标签放在不同代码块中的情况-如何在Razor中做到这一点?

13
jquery.validate.unobtrusive不适用于动态注入的元素
我正在使用ASP.Net MVC3,使用客户端验证的更简单方法是启用jquery.validate.unobtrusive。一切正常,对于服务器中的正确内容。 但是,当我尝试使用javascript注入一些新的“输入”时,我知道需要调用$.validator.unobtrusive.parse()以重新绑定验证。但是,所有这些动态注入字段仍无法正常工作。 更糟糕的是,我尝试使用手动绑定jquery.validate,但也不起作用。有什么想法吗?

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.