Tag: asp.net mvc 3

将Massive列表传递给MVC3中的View

ASP.NET MVC的新手(现在使用带Razor的MVC3),我很困惑将一个对象从Controller传递给View。 具体来说,我正在尝试使用MVC3和Rob Conery有趣的Massive(http://blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massive)。 我正在搞一个博客作为一个简单的Web应用程序进行试验。 HomeController.cs: public ActionResult Index() { var table = new DynamicModel(“mydb”, tableName: “Posts”); //grab all the posts var posts = table.All(); ViewData[“Posts”] = posts; return View(); } 这部分效果很好。 但是我该怎么做? return View(posts); 如果我在视图中引用@posts.PostID ,则会出错并说它无效。 所以我尝试针对DynamicModel创建强类型视图,但posts仍然没有。 我知道我可以创建一个ViewModel并针对该类型键入视图并将数据插入其中。 这更多是关于理解Controller / View如何交互。 谢谢!

通用视图模型?

我想知道尝试制作一个采用通用视图模型的视图是一种好习惯吗? 我想知道这是因为有人提到他预计必须做很多重复的代码,除非他开始制作通用视图和通用视图模型。 所以基本上这些视图就像一组控件。 一个视图可能有2个控件(比如文本框和单选按钮),另一个视图可能有50个控件。 它们都具有相同的外观和感觉(它只是通过控制数量增长)。 基本上他认为有一个视图模型接受对象(域对象)查看它并查看50个字段并呈现正确的控件类型。 我猜一个编辑模板可以用来计算出控件但是我并没有在通用视图模型上出售。 我喜欢generics,他们可以做非常强大的事情,在某些情况下他们很好,但我不是总体上对他们疯狂,并试图不使用。 我发现大多数时候它可能会减少重复的代码,但有时会使代码变得更复杂。 当然这可能只是因为我仍然是一个相对较新的编程,它可能仍然高于我的技能水平。 我遇到的下一个问题是我认为视图模型应该尽可能平坦,并且只暴露实际将要使用的数据,这样人们就不会开始使用从未在视图中出现过的属性。 我遇到的下一个问题是,如果你有一些复杂的对象,其中包含有对象的对象,它就可以继续运行。 它可能会持续很长时间。

.NET执行超时未在MVC Web项目中生效

我们正在尝试设置超时,并且请求不会超时。 我们尝试过以下几种方式: 将它放在web.config中(在应用程序的web.config中,以及views文件夹中的那个) 我们确保我们没有处于调试模式 我们甚至尝试在代码中设置脚本超时(即使它应该是相同的东西)并添加一个Thread.Sleep 3分钟(以确保我们远远超过默认超时)并且此操作仍然没有超时: public ActionResult Index() { Server.ScriptTimeout = 5; Thread.Sleep(60 * 1000 * 3); return View(); } 它发生在多台机器上,我甚至创建了一个全新的解决方案,只有模板中的上述更改,以及一个全新的IIS网站应用程序池…仍然无法超时。 我们缺少一些简单的配置设置吗? 这看起来应该很容易……

使用reflection和枚举来进行MVC应用程序访问的逻辑控制是否安全?

试图管理对网站的访问我创建了一些必要的实体 目标是为我的MVC应用程序的某些控制器的操作方法使用自定义权限属性。 [Permissions(PermissionType.SomePermissionName, CrudType.CanDelete)] public ActionResult SomeAction() { } 对于这个操作,我有两个枚举 [Flags] public enum CrudType { CanCreate = 0x1, CanRead = 0x2, CanUpdate = 0x4, CanDelete = 0x8, } [Flags] public enum PermissionType { SomePermissionName = 0x1, //… } 现在我想要下面的方法来检查权限 public static bool CanAccess(RolePermissions rp, CrudType crudType) { var pInfo = rp.GetType().GetProperties(); var res = pInfo.FirstOrDefault(x […]

MVC 3在ValidationSummary中显示HTML

我试图在validation摘要中显示一个强标记,但它编码并且无法正确显示。 @Html.ValidationSummary(false, “ERROR:The form is not valid!”) 我怎样才能让它发挥作用?

在MVC3应用程序的Edit操作方法中使用AutoMapper

这是我的控制器代码,它可以100%正常工作。 但是POST方法没有使用AutoMapper,那不行。 如何在此操作方法中使用AutoMapper? 我正在使用Entity Framework 4和Repository Pattern来访问数据。 public ActionResult Edit(int id) { Product product = _productRepository.FindProduct(id); var model = Mapper.Map(product); return View(model); } [HttpPost] public ActionResult Edit(ProductModel model) { if (ModelState.IsValid) { Product product = _productRepository.FindProduct(model.ProductId); product.Name = model.Name; product.Description = model.Description; product.UnitPrice = model.UnitPrice; _productRepository.SaveChanges(); return RedirectToAction(“Index”); } return View(model); } 如果我使用AutoMapper,entity framework引用将丢失,并且数据不会持久存储到数据库中。 [HttpPost] […]

从资源文件中获取DisplayName

我在App_GlobalResources文件夹中有特定于文化的资源文件。 现在我需要从这个资源文件中读取DisplayName属性的值。 我在用: [Display(Name = “MerchantName”, ResourceType = typeof(Resource))] public string Merchant { get; set; } 但我收到以下错误: 无法检索属性“名称”,因为本地化失败。 类型“Resources.Resource”不是公共的,或者不包含名为“MerchantName”的公共静态字符串属性。 我该如何解决这个问题?

如何创建定期日历活动?

我正在使用asp mvc 3,jquery完整日历,ms sql sever 2008和c#。 我想知道是否有人知道如何制作重复活动? 我不确定如何制作它们。 例如,在谷歌日历中,您可以永久地重复预约。 我怀疑他们在数据库中生成X次约会。 我想知道如何在我的数据库中有一行,并且知道如何在需要时调用它。 此外,谷歌日历和Outlook有很多重复选项,如重复在第1个月,上个月等。 有没有这样的库构建? 或者我是从头开始做的? PS 我在共享主机上,因此解决方案必须使用有限的权限。

ASP.NET MVC3绑定到子类

我有一个类型为Question的超类,它有多个子类(例如MultipleChoiceQuestion和TextQuestion )。 每个子类都有自己的编辑器模板(例如〜/ Shared / EditorTemplates / MultipleChoiceQuestion.cshtml )。 我想要做的是创建一个Question对象列表: class Questionnaire { List Questions; } 这将真正包含子类的实例: Questions.Add(new MultipleChoiceQuestion()); Questions.Add(new TextQuestion()); 然后我将调查问卷传递给View,我打电话给: @Html.EditorFor(m => m.Questions) 视图成功呈现特定子类问题模型的正确编辑器模板。 问题是,在提交表单时,我的问卷调查模型(包含类型问题列表)仅包含问题的实例,而不包含子类的实例。 此外, Question属性的实例都为null。 作为测试,我已经传入了一个类型为MultipleChoiceQuestion的列表,它工作正常: class Questionnaire { List Questions; } 有没有办法让HttpPost Action返回我的模型,并使用我的表单数据实例化子类? 谢谢

如何在不破坏我的服务层的情况下使用MVCMailer?

我正在研究使用MVcMailer制作更好的电子邮件。 但是我不确定的一件事是如何组织代码。 我目前有2个项目。 一个用于mvc,一个用于我的repos和服务层。 我的第二个项目不了解MVC,我想保持这种方式。 我在想我的smtp代码会进入服务层或包装器,然后当我需要发送电子邮件时,我会从其他服务层调用它。 那么MVC邮件适合哪里? 我是否在控制器中生成主体然后将其传递给将其传递给我的smtp类的服务层?