Tag: asp.net mvc

如何在模型和ViewModel中“干掉”C#属性?

这个问题的灵感来自我与ASP.NET MVC的斗争,但我认为它也适用于其他情况。 假设我有一个ORM生成的模型和两个ViewModel(一个用于“详细信息”视图,一个用于“编辑”视图): 模型 public class FooModel // ORM generated { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string EmailAddress { get; set; } public int Age { get; set; } public int CategoryId { get; set; } } 显示ViewModel […]

ExtJS:如何使用asp.net mvc返回json成功w / data

我正在尝试将ExtJS与Asp.Net MVC一起使用,到目前为止一切正常。 (在ExtJS上做得很好)为了简化操作,我需要一些帮助将数据从.net返回到ExtJS。 ExtJS希望在JSON Respone中看到成功标志以及其他数据。 样本预期响应格式是类似的 {success:true,data:{id:3,text:“hello world}} 所以,使用linq2sql或ado.net数据集作为模型对象,您是否知道如何以这种格式轻松返回数据。 就像是 public JsonResult Index() { result.success= true; result.obj = repository.FindAllUsers(); return Json(result) } 会顺便说一下吗? 如果我有一个具有bool成功和对象数据属性的ExtJSResult类? 提前致谢

是否可以使用Automapper将多个DTO对象映射到单个ViewModel?

我想知道是否可以使用Automapper将多个DTO对象映射到单个ViewModel对象? 本质上,我有多个DTO对象,并希望在ASP.NET MVC 2.0中的单个屏幕上显示每个对象的信息。 为此,我想将DTO对象(或其中的一部分……)展平到Viewmodel中,并将所述viewmodel传递给视图。 如果我有一个DTO,这将很容易,但我从来没有看到它完成多个。 显然,有很多迂回的方法可以做到这一点(在automapper之外),但这是我想要的方法,如果可能的话。

如何获取ASP.NET应用程序路径?

我有自己拥有的siteMapProvider,我需要phisical文件路径来初始化它,但我不能使用HttpContext来做到这一点,因为IIS 7将抛出exception: fileName = HttpContext.Current.Server.MapPath(fileName); 如何在没有HttpContext的情况下执行MapPath?

C#:枚举中的按位运算符(MVC中的自定义授权)

我正在阅读一篇文章 ,但我真的不明白这是如何与逻辑运算符一起工作的。 任何人都可以向我解释这个吗? 例如。 如果我想与客户,员工,主管和管理员有4级证券。 [Serializable] [Flags] public enum WebRoles { customer= 1 << 0, employee= 1 << 1, supervisor = 1 << 2, Admin = 2 << 3 } 然后我应该如何实现以下逻辑。 if (Roles != 0 && ((Roles & role) != role)) return false; 有人能为我提供一些这方面的知识吗? 非常感谢你。 道明

部分视图中的ASP.NET MVCvalidation并返回到父视图

我的背景 我正在使用ASP.NET MVC 4开展第一个认真的项目。自从经典的ASP时代以来,我正致力于Web开发,并且已经很好地掌握了Webforms。 MVC非常令人兴奋,并且正在取得良好进展。 但现在我处在这个论坛需要帮助的情况下。 查询背景 我有一个父视图,里面有一个局部视图。 部分视图包含表单和提交按钮。 局部视图具有自己的局部视图模型,该视图模型是父视图模型的属性之一。 如果部分视图的validation失败,我想,按原样显示父视图并在部分视图中突出显示无效字段。 代码不会破坏任何地方,但是当存在validation错误时,不知何故,我找不到正确的方式来显示传递给它的初始化模型的父视图。 当然,要在局部视图中突出显示错误。 任何帮助,将不胜感激。 谢谢。 代码如下所示: 查看型号: public class ParentViewModel { public int TitleId { get; set; } public string Name { get; set; } public ChildViewModel Child { get; set; } } public class ChildViewModel { [Required] public decimal Rating { get; set; } […]

ASP.NET MVC Html.ActionLink维护路由值

我有一个问题,在这里几乎被问到: asp.net mvc Html.ActionLink()保留我不想要的路由值 然而,最终的解决方案是一个纯粹而简单的kludge,我真的很想知道为什么会发生这种情况,如果有人可以向我解释一下呢? 为了完整起见,可以非常轻松地重新创建场景: 创建一个新的MVC Web应用程序。 跑吧。 访问“关于”选项卡修改要读取的URL / Home / About / Flib – 这显然会引导您使用我们不关心的ID为“Flib”的操作。 请注意,现在关于About的顶级菜单链接实际上链接到/ Home / About / Flib – 据我所知这是错误的,因为我现在绝对没有办法使用站点链接回到/ Home / About 我真的不明白为什么我应该被强制修改我的所有Html.ActionLinks以包含路由值的new { id = string.Empty }和htmlAttribs的null。 这似乎特别糟糕,因为我已经指定id = 0作为路线本身的一部分。 希望我在这里错过了一个技巧。

Session.Clear(),Session.Abandon(),Session.RemoveAll()的MVC优化?

我正在使用一些应该在用户完成后终止的会话。 我偶然发现了这三场杀手。 何时是使用这些的最佳时间,因为我使用会话的时间比不是。 另外,还有其他会话终止我不知道吗?

使脚本包包含另一个脚本包

假设我配置了这两个脚本包: bundles.Add(new ScriptBundle(“~/Scripts/Bootstrap”).Include( “~/Content/Scripts/jQuery/jquery-2.1.1.js”, “~/Content/Scripts/Bootstrap/bootstrap.js”)); bundles.Add(new ScriptBundle(“~/Scripts/jQuery”).Include( “~/Content/Scripts/jQuery/jquery-2.1.1.js”)); 如您所见, ~/Scripts/Boostrap使用jQuery JavaScript文件和Bootstrap文件。 这是因为Bootstrap需要jQuery才能工作。 另一方面, ~/Scripts/jQuery只由jQuery文件组成。 我希望有两个捆绑包,以防视图只需要jQuery而不是Bootstrap。 但是,我在这里复制代码,我定义了两次 jQuery JavaScript文件路径。 有没有办法告诉~/Scripts/Boostrap包使用或“注入”另一个包? 像这样的东西: bundles.Add(new ScriptBundle(“~/Scripts/Bootstrap”).UseBundle(“~/Scripts/jQuery”).Include( “~/Content/Scripts/Bootstrap/bootstrap.js”));

ASP.NET MVC3双重validation(逗号,点,null)

我的控制器看起来像这样: public class PortefeuilleController : Controller { public ActionResult Create() { return View(new PortefeuilleViewModel{Saldo = 0.0}); } } 我的创建视图如下所示: @model PortefeuilleViewModel @{ ViewBag.Title = “Create”; } Create @using (Html.BeginForm()) { @Html.ValidationSummary(true) PortefeuilleViewModel @Html.LabelFor(model => model.Naam) @Html.EditorFor(model => model.Naam) @Html.ValidationMessageFor(model => model.Naam) @Html.LabelFor(model => model.Saldo) @Html.EditorFor(model => model.Saldo) @Html.ValidationMessageFor(model => model.Saldo) } 我的PortefeuilleViewModel看起来像这样: public class PortefeuilleViewModel […]