Tag: asp.net mvc

MVC – 清除SelectList的默认选择值

我有一个SelectList,它填充了数据库中的数据。 数据来自Dictionary并填充SelectList,如下所示。 //… Courses = new SelectList(GetCourses(),”Key”,”Value”); //… 在视图上,它显示数据库中的第一条记录作为下拉列表中的默认选定值。 我想清除此值并将下拉列表留空,以便用户可以手动选择一个值。 如果可能,不使用javascript。 //I have this on the view model.CourseID, Model.Courses) %> 请帮忙!

客户端上的Outputcache属性与部分页面’

我是创建应用程序菜单的部分页面。 我使用renderaction调用菜单部分视图。 我想通过这样做在客户端存储这个部分页面 [OutputCache(Duration=7200, Location =OutputCacheLocation.Client, NoStore= true)] 但我收到以下错误 OutputCacheAttribute for child actions only supports Duration, VaryByCustom, and VaryByParam values. Please do not set CacheProfile, Location, NoStore, SqlDependency, VaryByContentEncoding, or VaryByHeader values for child actions 任何替代

类型为object的.NET MVC Action参数

如果我有一个简单的控制器路由如下: context.MapRoute( “Default”, “{controller}/{action}”, new { controller = “Base”, action = “Foo”} ); 并且控制器Foo动作如下: [HttpPost] public ActionResult Foo(object bar) { … } bar怎么样? 我已经调试并看到它是一个string ,但我不确定它是否总是被编组为一个字符串。 基本上我想让方法接受bool , List和int 。 我可以发送一个类型参数并从post中自己进行模型绑定。 (该post是一个表格post)。 这是我当前的post&bar=False或&bar=23或&bar[0]=24&bar[1]=22 。 我知道我可以看一下Foo动作方法里面的post,但是我想要一些关于在MVC3中处理这个问题的最佳方法的输入

Asp.net Mvc地区路由问题

我希望网站的默认页面是Login.cshtml。 我得到了例外: 错误:未找到视图“LogIn”或其主节点,或者没有视图引擎支持搜索的位置。 搜索了以下位置: 我有2个区域。 结构如下所示。 我的routeconfig如下所示。 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace Portal.Web { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “Home”, action = “LogIn”, id = UrlParameter.Optional }, namespaces: new[] { “Portal.Web.Areas.Management” […]

条件ModelState合并

我实现了第二个响应“ 保留模型状态错误跨RedirectToAction? ”问题,涉及使用两个自定义ActionFilterAttributes。 我喜欢这个解决方案,它通过向需要该function的方法添加属性来保持代码清洁。 解决方案在大多数情况下运行良好,但我遇到了重复的部分视图问题。 基本上我有部分视图使用它自己的模型,与父视图使用的模型分开。 主视图中我的代码的简化版本: @for (int i = 0; i < Model.Addresses.Count; i++) { address = (Address)Model.Addresses[i]; @Html.Partial("_AddressModal", address); } 部分视图“_AddressModal”: @model Acme.Domain.Models.Address […] @Html.TextBoxFor(model => model.Address1, new { @class = “form-control” } ) […] 不使用自定义ActionFilterAttributes时,一切都按预期工作。 每次执行部分视图时,lamba表达式如“model => model.Address1”从ModelState中提取正确的值。 问题是当我获得重定向并使用自定义ActionFilterAttributes时。 核心问题是,不仅更新了一个Address实例的ModelState,而且部分视图构建的所有地址的ModelState都被覆盖,因此它们包含相同的值,而不是正确的实例值。 我的问题是如何修改自定义ActionFilterAttributes,以便它只更新受影响的一个Address实例的ModelState,而不是所有ModelStates? 我想避免向使用该属性的方法添加任何内容,以保持干净的实现。 以下是来自其他问题的自定义ActionFilterAttributes代码: public class SetTempDataModelStateAttribute : ActionFilterAttribute { public override […]

ASP.NET返回多个变量以查看

我无法弄清楚如何将多个变量返回到视图。 像这样的东西。 我能得到一些帮助吗? public ActionResult CheatSheet() { var var1 = from ts in db.thisdatabase select ts; var var2 = from ls in db.thisdatabase select ls; var var3 = from d in db.thisdatabase select d; return View(var1,var2,var3); }

如何在ASP.NET MVC中组织DAL

我正在尝试在asp.net mvc项目中组织数据访问层。 我已经阅读了很多不同的文章,所以我仍然有一些问题要完成这个问题: 我应该为数据库中的每个实体创建存储库实例,还是为所有或一个基本实例创建存储库实例,例如PostRepository可以包含Post , Comment和Tag等实体? 在控制器中,我必须获取一些数据,转换为ViewModel并将其传递到视图中。 这是最好的去处? Services , Controller或其他什么? 如果是Service 。 我应该创建多少服务? 对于每个实体,如果是必要的话,还会转入Controller 3或4服务? 或者也许就像我想在存储库中这样做? (创建一个包含一些存储库计数的公共服务PostService ,带有PostRepository , CommentRepository和TagRepository等存储库)

来自另一个组件的剃刀布局

是否可以使用其他assembly的布局? 我将我的应用程序放在不同的层中,并有一个单独的UI层,其中包含设计者要编辑的主布局。 是否有可能,我的参考是什么样的? @{ ViewBag.Title = “Index”; Layout = “~/Views/Shared/_Layout.cshtml”; }

在Identity 2.0中扩展IdentityUserRole

因此,我的系统要求角色具有相关的到期日期。 我已经实现了Identity 2.0框架,事情进展顺利,但我遇到了一个让我怀疑我的结构的问题。 public class ApplicationUserRole : IdentityUserRole { public override string UserId { get; set; } public override string RoleId { get; set; } public DateTime Expiry { get; set; } } public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext() : base(“DefaultConnection”, throwIfV1Schema: false) { } static ApplicationDbContext() { Database.SetInitializer(null); } public static ApplicationDbContext […]

‘System.Web.Mvc.HtmlHelper’不包含’RenderPartial’的定义 – ASP.Net MVC

我一直试图在一台机器上运行ASP.Net MVC 1.0,但是无法通过它。 我创建了一个新的MVC项目(C#)。 它创建了所有文件夹,视图,控制器,模型等。一切都很好。 然后,当我点击F5时,我得到以下内容: d:\ VSCode2008 \ MVC \ MvcApplication1 \ Views \ Shared \ Site.Master(19):error CS0117:’System.Web.Mvc.HtmlHelper’不包含’RenderPartial’的定义 这发生在以下行: httpHandler.ProcessRequest(HttpContext.Current); 在Default.aspx.cs中 它似乎正在尝试执行RenderPartial()以呈现登录部分。 我安装了.Net框架的3.51版本。 我安装了1.0版的MVC,并且程序集显然有RenderPartial()作为HtmlHelper的扩展方法。 有人见过类似的东西? 我发现了一些关于贝塔和RC的类似问题的post,但是建议的修补程序还没有woredk。 我喜欢MVC的理论,但它不是让我玩!