小编Dav*_*enn的帖子

如何通过自定义属性获取和修改属性值?

我想创建一个可以在以下属性上使用的自定义属性:

[TrimInputString]
public string FirstName { get; set; }
Run Code Online (Sandbox Code Playgroud)

这将是功能相当于

private string _firstName
public string FirstName {
  set {
    _firstName = value.Trim();
  }
  get {
    return _firstName;
  }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上每次设置属性时都会修剪该值.

如何获取解析的值,修改该值,然后使用属性中的新值全部设置属性?

[AttributeUsage(AttributeTargets.Property)]
public class TrimInputAttribute : Attribute {

  public TrimInputAttribute() {
    //not sure how to get and modify the property here
  }

}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

16
推荐指数
2
解决办法
2万
查看次数

如何在C#中进行单元测试中的MapPath

我想在单元测试中加载外部XML文件,以测试该XML上的一些处理代码.如何获取文件的路径?

通常在Web应用程序中我会这样做:

XDocument.Load(Server.MapPath("/myFile.xml"));
Run Code Online (Sandbox Code Playgroud)

但显然在我的单元测试中我没有引用Server或HttpContext,那么如何映射路径以便我不必指定完整路径?

更新:

我只想说明我实际测试的代码是针对XML解析器类的,类似于:

public static class CustomerXmlParser {
  public static Customer ParseXml(XDocument xdoc) {
    //...
  }
}
Run Code Online (Sandbox Code Playgroud)

所以为了测试这个,我需要解析一个有效的XDocument.正在测试的方法不会访问文件系统本身.我可以直接在测试代码中从String创建XDocument,但我认为从文件加载它会更容易.

c#

14
推荐指数
2
解决办法
1万
查看次数

我是否可以使用Entity Framework 4 CTP5访问TPH映射中的鉴别器值

使用Entity Framework 4 CTP5 Code First和本例

是否可以访问鉴别器值?

我想在投影中使用它

context.BillingDetails.Select(x => new { Number = x.Number, DiscrimitatorValue = /* how do I get the discriminator value? */ });
Run Code Online (Sandbox Code Playgroud)

这篇文章我明白鉴别器不能映射到属性,但有没有其他方式访问它?

code-first entity-framework-4 entity-framework-ctp5

14
推荐指数
4
解决办法
8435
查看次数

MVC授权 - 多个登录页面

我在MVC控制器中有以下方法,当用户未登录时,该方法重定向到登录页面.

[Authorize]
public ActionResult Search() {
  return View();
}

[Authorize]
public ActionResult Edit() {
  return View();
}
Run Code Online (Sandbox Code Playgroud)

是否有快速/简单/标准的方法将第二个操作重定向到web.config文件中定义的页面以外的其他登录页面?

或者我必须做类似的事情

public ActionResult Edit() {
  if (IsUserLoggedIn)
    return View();
  else 
     return ReturnRedirect("/Login2");
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

8
推荐指数
1
解决办法
6205
查看次数

为什么我不能将XDocument XDeclaration编码类型设置为iso-8859-1?

为什么下面的代码没有设置XML声明编码类型?它总是将编码设置为utf-16.我错过了很明显的东西吗?

var xdoc = new XDocument(
  new XDeclaration("1.0", "iso-8859-1", null), 
  new XElement("root", "")
);
Run Code Online (Sandbox Code Playgroud)

输出:

<?xml version="1.0" encoding="utf-16"?>
<root></root>
Run Code Online (Sandbox Code Playgroud)

c# xml encoding linq-to-xml

7
推荐指数
1
解决办法
8031
查看次数

Ajax模型绑定的复杂类型

我试图按照以下方式做一些事情,我有一个控制器,其方法类似于:

public ActionResult Insert(Author author) {
  //do something...
}
Run Code Online (Sandbox Code Playgroud)

作者类型的位置如下:

public class Author {
  public string FirstName { get; set; }
  public string LastName { get; set; }
  public Book[] Books { get; set; }

  public Author() {
    Books = new Book[0];
  }
}

public class Book {
  public string Title { get; set; }
  public int NumberOfPages { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从一个页面我想使用JQuery和Ajax提交数据

function addAuthor() {
  var auth = {
    'FirstName': 'Roald',
    'LastName': 'Dahl',
    'Books': [
      {
        'Title': 'Charlie …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery

6
推荐指数
1
解决办法
1406
查看次数

我应该继续研究MVC 1.0上的项目还是停止学习MVC 2.0?

几个月后我开始学习ASP.NET MVC 1.0.虽然一开始很难,但现在我已经取得了巨大进步,所以我正在努力做一些我可以向同事们展示的严肃事情.但是,现在MVC 2几乎就在那里.

现在我想知道MVC 1.0和MVC 2是否有很大的不同.事实上,我想知道我是否需要(第一)完成我的工作或(其次)我需要停止一切并首先学习MVC 2.

为了说明我的观点,我要说:从MVC 1.0迁移到MVC 2与从Web Form迁移到MVC 1.0的规模相同

谢谢你的帮助.

asp.net asp.net-mvc asp.net-mvc-2

6
推荐指数
1
解决办法
320
查看次数

TempData重定向页面?

我可以将tempdata发送到重定向页面吗?如果有,怎么样?如果没有,任何替代方案?

asp.net-mvc asp.net-mvc-3

6
推荐指数
1
解决办法
4214
查看次数

如何更改.Net MVC中DateTime模型绑定程序的默认输入格式?

我有一个相当标准的.Net MVC Controller方法:

public ActionResult Add(Customer cust) {  
  //do something...  
  return View();
}
Run Code Online (Sandbox Code Playgroud)

客户是这样的:

public class Customer {
  public DateTime DateOfBirth { get; set; }
  //more stuff...
}
Run Code Online (Sandbox Code Playgroud)

并包含一个页面:

<div><%= Html.TextBox("DateOfBirth") %></div>
Run Code Online (Sandbox Code Playgroud)

问题是我的站点位于美国服务器上,因此cust.DateOfBirth以美国格式MM / dd / yyyy解析。但是,我希望用户以英国格式dd / MM / yyyy输入他们的出生日期。

我可以在DateTime ModelBinder上更改默认输入格式,还是必须创建自己的自定义ModelBinder?

c# asp.net-mvc

5
推荐指数
1
解决办法
6332
查看次数

实现Rss源的安全性

A)我希望能够通过以下身份验证方法支持我的RSS源的密码保护:

HTTP基本集成Windows(NTLM/Kerberos)摘要

1)我怎么能在asp.net mvc中做到这一点

B)阅读RSS 2.0规范,我没有看到任何与安全性相关的内容,因此我假设为RSS源实现的安全性由处理RSS源的HTTP请求的Web服务器在一端处理,另一端由客户端请求访问RSS源.客户端应收集用户名和密码,并将该信息放入对服务器的请求中.我很想知道UserLand或ASP.NET Weblogs等网站如何(或者是否)提供受密码保护的RSS提要,而另一方面,如RSSAd聚合器如NewsGator,NewzCrawler,SharpReader等处理密码受保护的RSS源?

security rss asp.net-mvc feed

5
推荐指数
1
解决办法
465
查看次数