我想创建一个可以在以下属性上使用的自定义属性:
[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) 我想在单元测试中加载外部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,但我认为从文件加载它会更容易.
使用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)
从这篇文章我明白鉴别器不能映射到属性,但有没有其他方式访问它?
我在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) 为什么下面的代码没有设置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) 我试图按照以下方式做一些事情,我有一个控制器,其方法类似于:
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) 几个月后我开始学习ASP.NET MVC 1.0.虽然一开始很难,但现在我已经取得了巨大进步,所以我正在努力做一些我可以向同事们展示的严肃事情.但是,现在MVC 2几乎就在那里.
现在我想知道MVC 1.0和MVC 2是否有很大的不同.事实上,我想知道我是否需要(第一)完成我的工作或(其次)我需要停止一切并首先学习MVC 2.
为了说明我的观点,我要说:从MVC 1.0迁移到MVC 2与从Web Form迁移到MVC 1.0的规模相同
谢谢你的帮助.
我可以将tempdata发送到重定向页面吗?如果有,怎么样?如果没有,任何替代方案?
我有一个相当标准的.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?
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源?
asp.net-mvc ×7
c# ×4
ajax ×1
asp.net ×1
code-first ×1
encoding ×1
feed ×1
jquery ×1
linq-to-xml ×1
rss ×1
security ×1
xml ×1