Tag: asp.net mvc 3

使用JSON.Net序列化包含撇号的字符串

我使用JSON.Net作为c#中的大型MVC 3 Web应用程序和Razor视图引擎的序列化程序。 对于一个视图中的初始页面加载,使用@Html.Raw(JsonConvert.SerializeObject(myObject))在脚本标记内转储了大量JSON。 问题是某些对象的某些值包含撇号(想想像O’Brien这样的名字),JSON.Net没有以任何方式转义或编码。 对预存储在数据库中的值进行预编码不是一种选择,因为这会使各种其他进程复杂化。 有没有办法强制JSON.Net对HTML序列化对象的值进行编码,就像调用JavaScriptSerializer.Serialize(myObject)时内置的JavaScriptSerializer一样? 或者,有没有办法在视图中处理这个问题?

MVC HTML助手和Lambda表达式

我在很大程度上理解Lambda查询,但是当我尝试学习MVC时,我看到了默认的Scaffolding模板,他们使用Lambda表达式来处理这么多组件。 例如, DisplayFor HTML Helper就是其中之一。 代码为@Html.DisplayFor(model => model.name) 我希望没有人认为这是一个愚蠢的问题,只是因为我(我认为)在大多数情况下理解Lambda表达式,它们并不像常规代码那样“流动”,我不得不考虑它很难理解实际发生了什么! 所以问题确实是, 1)使用Lambda查询为这些HTML帮助程序,我是否有任何好处? 2)据我所知,DisplayFor只会连接到一个项目 – 所以,为什么这不仅仅是@Html.DisplayFor(model.name)或类似的? 请提供任何其他可以使MVC新手更好的信息!

多字段的MVC表单validation

为了validation的目的,我如何将MVC 3表单上的多个文本框视为一个文本框? 这是一个简单的电话号码字段,其中一个区域代码文本框,一个用于前缀,一个用于后四个数字。 实际上有两个validation要求: 1)他们都是必需的。 2)它们都必须包含整数。 现在,对于单个字段执行此操作时这很简单,但是如何使用MVC创建ASP.NET CustomValidator的等效项,以便我可以将所有三个字段作为一个整体进行validation?

如何在DropDownList中保留空格 – ASP.net MVC Razor视图

我在视图中以下列方式绑定我的模型: 问题是我的项目文本是格式化的文本,在单词之间有空格,如下所示。 #123 First $234.00 #123 AnotherItem $234.00 #123 Second $234.00 我想保留此项文本中的空格,即使它们被添加到DropDownList后也是如此。 但不幸的是我的DropDownList显示它们没有空格如下: #123 First $234.00 #123 AnotherItem $234.00 #123 Second $234.00 当我查看页面的来源时,这些空格是完整的但在显示中则不是。 我试图添加’   ‘而不是空格而是SelectList(MVC框架类)内部方法在将它们添加为下拉列表中的项之前使用HtmlEncode。 有什么办法可以实现吗?

EF中的可序列化类和动态代理 – 如何?

在[之前的post]中 ,我被设置为必须克隆我的实体的路径。 我尝试使用[codeproject]中的序列化方法。 因为这些类是由Entity Framework生成的,所以我在自定义.cs中单独标记它们,如下所示: [Serializable] public partial class Claims { } 但是,当检查时(在克隆方法中): if (Object.ReferenceEquals(source, null)) { 被击中,我收到错误: System.ArgumentException was unhandled by user code Message=The type must be serializable. Parameter name: source Source=Web ParamName=source StackTrace: at .Web.Cloner.Clone[T](T source) in C:\Users\.\Documents\Visual Studio 2010\Projects\.\Website\Extensions.Object.cs:line 49 at .Web.Models.Employer..ctor(User u) in C:\Users\.\Documents\Visual Studio 2010\Projects\.\Website\Models\EF.Custom.cs:line 121 at .Web.Controllers.AuthController.Register(String Company, String […]

ASP.NET MVC 3:具有inheritance/多态的DefaultModelBinder

首先,对于这个大post(我先尝试做一些研究)和同一问题的混合技术(ASP.NET MVC 3,Ninject和MvcContrib)感到抱歉。 我正在使用ASP.NET MVC 3开发一个项目来处理一些客户端订单。 简而言之:我有一些inheritance自的对象和抽象类Order ,当我向控制器发出POST请求时,我需要解析它们。 我该如何解决正确的类型? 我是否需要覆盖DefaultModelBinder类,还是有其他方法可以执行此操作? 有人可以提供一些代码或其他链接,如何做到这一点? 任何帮助都会很棒! 如果post令人困惑,我可以做任何改变,以明确! 所以,对于我需要处理的订单,我有以下inheritance树: public abstract partial class Order { public Int32 OrderTypeId {get; set; } /* rest of the implementation ommited */ } public class OrderBottling : Order { /* implementation ommited */ } public class OrderFinishing : Order { /* implementation ommited */ […]

使用远程validation进行多个字段validation

我有以下型号: public class Customer { public string FirstName {get;set;} public string LastName {get; set;} [Remote(“CardExisting”, “Validation”, AdditionalFields=”FirstName,LastName”) public string CardNumber {get; set;} } CardExisting操作将检查firstName和LastName的cardNumber组合是否存在现有记录。 如果用户首先输入卡号然后输入他的名字,我无法validation他怎么办?所以当他返回并输入他的名字时我需要再次进行远程validation,如果焦点已经从cardnumber属性丢失了怎么办呢?

Google Maps v3地理编码服务器端

我正在使用ASP.NET MVC 3和Google Maps v3。 我想在动作中进行地理编码。 这是将有效地址传递给Google并获得经度和经度。 我见过的所有关于地理编码的在线样本都处理了客户端地理编码。 你会如何在使用C#的动作中做到这一点?

如何在连接字符串上使用Web.Config变换?

在我当前的项目中,我有一些对本地开发机器有效的连接字符串: <add name="ApplicationServices" connectionString="Data Source=localhost;Initial Catalog=MyDB;Integrated Security=SSPI" …. 我如何使用Web.Config转换将此表达式转换为对我们的生产服务器有效的表达式? 生产服务器看起来像: <add name="ApplicationServices" connectionString="Data Source=IPAddress,Port;Initial Catalog=SomeOtherDB;User ID=TopSecretUsername;Password=SecurePassword" …. 语法对我来说并不明显,而且我完全没有在它上面浏览页面 。

MVCvalidation低于/高于其他值

如何在MVC.Net中validation模型的最佳方法,我希望接受最小/最大值。 不是字段的单个最小值/最大值。 但是用户指定最小/最大值的单独字段。 public class FinanceModel{ public int MinimumCost {get;set;} public int MaximumCost {get;set;} } 所以我需要确保MinimumCost始终小于最大成本。