Tag: asp.net mvc 3

UserControl等效于MVC3?

在Web窗体上,我们有UserControls 。 这些控件具有代码隐藏function,可以在不依赖于其他内容的不同项目/解决方案中使用。 我想创建一个控件来呈现一些控件,并且会有一些“触发事件”的链接。 我希望它们不会附加在我的网站上,我希望能够在另一个网站上使用相同的“控件”。 MVC中的等价物是什么? 是否可以使用控制器编译视图并在其他地方使用DLL?

MVC3中相同类型的实体之间的多对多关系

我有一个ASP.NET MVC3应用程序,我使用Entity Framework 4.3 Code-First和Migrations。 我一直在尝试在相同类型的实体之间创建多对多关系,但是当我使用迁移构建迁移时,它会生成一对一的关系。 这个想法是一个用户应该能够跟随多个其他用户(想想Twitter)。 我的User模型看起来像这样: public class User { public int UserId { get; set; } public string Name { get; set; } public DateTime Registered { get; set; } … public virtual ICollection Follows { get; set; } } 当我构建添加的Follows属性时,我得到这样的迁移: public partial class FollowUser : DbMigration { public override void Up() […]

ASP.Net MVC3 – 将剃刀标记作为参数传递

我有一个名为EditableArea的帮助器,它为用户提供了一个运行时可编辑的div (通过JS)。 EditableArea帮助程序检查数据库中是否存在具有指定ID的可编辑区域(与MVC的Area无关),如果是,则呈现该区域的HTML,否则它将显示指定为辅助程序的参数的默认标记: @Html.EditableArea(someId, “Click to edit contents”) 一切正常,但我想更改它,以便默认标记不是作为字符串指定,而是在剃刀语法中,如下所示: @using (Html.EditableArea(someId)) { Click to edit contents } 或类似的东西,比如@section在MVC3中的工作方式。 我怎样才能做到这一点? 我可以创建一个IDisposable ,它的Dispose关闭了TagBuilder等,但即使帮助器找到一个带ID的区域,我也无法避免渲染内部Razor标记(我可以清除Dispose()中的渲染内容但是里面的代码{}仍会运行,我想跳过)。 如果我不使用using是否有其他方法将剃刀块传递给帮助器,帮助器实际可能会或可能不会实现?

检查模型在Controller之外是否有效

我有一个辅助类,它传递一个值数组,然后从我的模型传递给一个新类。 如何validation给予此类的所有值是否有效? 换句话说,如何在非控制器类中使用ModelState的function。 从控制器: public ActionResult PassData() { Customer customer = new Customer(); string[] data = Monkey.RetrieveData(); bool isvalid = ModelHelper.CreateCustomer(data, out customer); } 来自帮手: public bool CreateCustomer(string[] data) { Customter outCustomer = new Customer(); //put the data in the outCustomer var //??? Check that it’s valid }

Ninject入门

我在dimecasts.net上观看了Ninject的前2个初学者教程。 现在,我想在ASP.NET MVC 3中使用Ninject 2.2。我想要一个带有模拟模型的视图。 在调用我的服务时,我没有将对象引用设置为对象的实例; public class HomeController : Controller { private readonly IMilestoneService _service; public HomeController() { } HomeController(IMilestoneService service) { _service = service; } public ActionResult Index() { ViewBag.Message = “Change Request System”; return View(); } public ActionResult About() { return View(); } #region Partial views public ActionResult Milestone() { var result […]

Castle.Windsor生活方式取决于具体情况?

我有一个Web应用程序,其中许多组件使用.LifestylePerWebRequest()注册,现在我决定实现Quartz.NET ,一个.NET作业调度库,它在不同的线程中执行,而不是Request线程。 因此, HttpContext.Current产生null 。 到目前为止,我的服务,存储库和IDbConnection使用.LifestylePerWebRequest()实例化,因为它使得在请求结束时更容易处理它们。 现在我想在两种情况下使用这些组件,在Web请求期间我希望它们不受影响,在非请求上下文中我希望它们使用不同的生活方式,我想我可以自己处理处理,但我该怎么办关于它根据当前背景选择组件的生活方式? 目前我注册服务(例如),像这样: container.Register( AllTypes .FromAssemblyContaining() .Where(t => t.Name.EndsWith(“Service”)) .WithService.Select(IoC.SelectByInterfaceConvention) .LifestylePerWebRequest() ); 我想我应该使用某种扩展方法,但我只是看不到它..

带可选参数的MVC操作 – 哪个更好?

在您的行动签名中使用以下两种备选方案是否有任何利弊: public ActionResult Action(int? x) // get MVC to bind null when no parameter is provided { if(x.HasValue) { // do something } } 要么 public ActionResult Action(int? x = null) // C# optional parameter (virtual overload) { if(x.HasValue) { // do something } }

如何使用ASp.net MVC3插入数据库后显示“成功插入”等警报消息

如何使用MVC编写用于显示警报消息的代码:“成功注册”,用户数据存储在数据库中之后 我使用的是Asp.Net MVC3,C#,Entity Model。

如何在AutoMapper中处理自定义属性

我有一个ViewModel,它接受一些Model数据并略微改变它。 我这样做的方式“有效”,因为我只是将DomainModel传递给ViewModel的构造函数,但由于我在一些一对一的ViewModel上使用AutoMapper,我想我会尝试学习如何在所有ViewModel上进行映射。 这是ViewModel的一个例子,它可以做一些额外的工作。 public class UsersDetailsViewModel { public string UserName { get; set; } public string Email { get; set; } public string Website { get; set; } public int ID { get; set; } public List OpenIds { get; set; } public string UserAge { get; set; } public string About { get; set; […]

从List 创建MVC3 CheckBoxFor并在Post上获取列表(使用更新的值)

我在ViewModel中有一个List,我解析为View List BoolSetting: public class BoolSetting { public BoolSetting(string displayName, bool value) { DisplayName = displayName; Value = value; } public string DisplayName { get; set; } public bool Value { get; set; } } 然后,我想打印列表中所有项目的复选框,因此列表位于视图使用的ViewModel中 @foreach(var boolSettingList in Model.BoolSettingList) { @Html.CheckBox(boolSettingList.DisplayName, boolSettingList.Value) @boolSettingList.DisplayName } 问题是当我发布这个,然后我的模型没有在我的ViewModel中的List中保存更新的设置(bool值),因此该对象为空。 我可以 foreach (var VARIABLE in userSettingConfigViewModel.BoolSettingList) { VARIABLE.Value = […]