我在检查我的数据库Create(FooViewModel fvm){...},看是否fvm.prop1和fvm.prop2在该组合已经存在; 如果是这样,我想向modelstate添加一个错误,然后返回整个视图.我试过了:
public ActionResult Create(FooViewModel fvm){
if (ThatComboAlreadyExists(fvm)) {
ModelState.AddModelError("Model", "There is already one like that");
return View(fvm);
}
}
Run Code Online (Sandbox Code Playgroud)
...但我没有显示错误Html.ValidationSummary,这是我认为它们会出现的地方.我怀疑"模型"不是正确的关键,但我一直无法找到任何谷歌.
我对如何在ASP.NET MVC 2.0 R2上使用新的强类型Html.DropDownListFor帮助程序感到十分迷茫和困惑
在我写的视图中:
<%= Html.DropDownListFor(m => m.ParentCategory, new SelectList(Model.Categories, "CategoryId", "Name", Model.ParentCategory), "[ None ]")%>
<%= Html.ValidationMessageFor(m => m.ParentCategory)%>
Run Code Online (Sandbox Code Playgroud)
因此我的Model对象是:
public class CategoryForm : FormModelBase
{
public CategoryForm()
{
Categories = new List<Category>();
Categories.Add(new CategoryForm.Category() {
CategoryId = 1,
Name = "CPUs" });
Categories.Add(new CategoryForm.Category() {
CategoryId = 2,
Name = "Memory" });
Categories.Add(new CategoryForm.Category() {
CategoryId = 3,
Name = "Hard drives" });
}
// ...other props, snip... //
public Category ParentCategory { get; set; }
public …Run Code Online (Sandbox Code Playgroud) asp.net-mvc html-helper viewmodel asp.net-mvc-2 drop-down-menu
如何安装我下载到VS2010中的.vssettings文件来"应用"主题?
我有一个继承自MembershipUser的自定义CustomMembershipUser.
public class ConfigMembershipUser : MembershipUser
{
// custom stuff
}
Run Code Online (Sandbox Code Playgroud)
我使用Linq-to-SQL从数据库读取并获取User实体; 要使此功能成为MembershipUser,我已定义了一个显式转换:
public static explicit operator MembershipUser(User user)
{
DateTime now = DateTime.Now;
if (user == null) return null;
return new MembershipUser("MagicMembershipProvider",
user.DisplayName, user.Id,
user.Email, "", "", true, false,
now, now, now, now, now);
}
Run Code Online (Sandbox Code Playgroud)
这个演员工作正常:
MembershipUser memUser = (MembershipUser) entityUser;
Run Code Online (Sandbox Code Playgroud)
但是,对CustomMembershipUser的第二次强制转换失败:
MembershipUser memUser = (MembershipUser) entityUser;
CustomMembershipUser custUser = (CustomMembershipUser) memUser;
Run Code Online (Sandbox Code Playgroud)
如果我将演员阵容改为
CustomMembershipUser custUser = memUser;
Run Code Online (Sandbox Code Playgroud)
我得到一个intellisense错误告诉我隐式强制转换不起作用,但存在显式强制转换.
...最重要的是,我无法明确定义从基类到子类的强制转换.我尝试过但失败了.我最不了解的是为什么从基类到子类的转换会失败?根据定义,子类具有基类的所有属性,因此问题是什么.
我试图定义从MembershipUser到CustomMembershipUser的显式转换(首先我为转换定义了一个私有构造函数):
private ConfigMembershipUser(MembershipUser …Run Code Online (Sandbox Code Playgroud) 我有一个用于客户端验证的字符串:
private const String regex = @"^(?:\b(?:\d{5}(?:\s*-\s*\d{5})?|([A-Z]{2})\d{3}(?:\s*-\s*\1\d{3})?)(?:,\s*)?)+$";
Run Code Online (Sandbox Code Playgroud)
我在我的[RegularExpression(regex, ErrorMessage = "invalid")]属性中使用此字符串.
我知道/iJavascript正则表达式的标志用于使其不区分大小写,但只是将其添加到我的正则表达式的末尾(即@"^....$/i"不工作 - 正则表达式验证完全失败,无论输入什么(有效或无效) ).
我错过了什么?
我目前正在HTML WYSIWYG /"源代码"并排编辑器中实现AvalonEdit.当用户从设计模式(a RichTextBox)切换到源模式(AvalonEdit TextEditor)时,RTB中的XAML将转换为HTML并写入TextEditor.Document.Text属性.
这显然消除了撤销堆栈.
如何将文档的状态推送到UndoStack用户可以"返回"?我尝试将写入操作包装在a中RunUpdate() IDisposable,但这不起作用:
using (var _ = TextEditor.Document.RunUpdate())
{
TextEditor.Document.Text = html;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
当我有一个我声明实现然后INotifyPropertyChanged接口的类时,ReSharper将自动生成这个实现:
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
Run Code Online (Sandbox Code Playgroud)
我一直在编辑这个:
public event PropertyChangedEventHandler PropertyChanged = delegate { };
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式编辑自动生成的代码吗?Resharper的文档对我来说不太清楚.
G'Day Mates -
重载字符串运算符<,>,<=和> =的正确方法(不包括是否可取的参数)是什么?
我已经尝试了五种方式到星期天,我得到了各种错误 - 我最好的镜头是宣布一个部分类并从那里超载,但它不会因某些原因而起作用.
namespace System
{
public partial class String
{
public static Boolean operator <(String a, String b)
{
return a.CompareTo(b) < 0;
}
public static Boolean operator >(String a, String b)
{
return a.CompareTo(b) > 0;
}
}
Run Code Online (Sandbox Code Playgroud)
}
假设包含以下内容的行集
EntryID Name DateModified DateDeleted
-----------------------------------------------
1 Name1 1/2/2003 NULL
2 Name1 1/3/2005 1/5/2008
3 Name1 1/3/2006 NULL
4 Name1 NULL NULL
5 Name1 3/5/2008 NULL
Run Code Online (Sandbox Code Playgroud)
澄清:
我需要一个值 - 来自BOTH列的最大非空日期.因此,在这种情况下,所有十个细胞中最大的.
StringBuilder类允许您以非常直观的方式将方法调用链接到.Append(),. AppendFormat()以及其他类似的方法:
StringBuilder sb = new StringBuilder();
sb.Append("first string")
.Append("second string);
Run Code Online (Sandbox Code Playgroud)
另一方面,List类的.Add()方法返回void - 因此链接调用不起作用.在我看来,这是Jayne Cobb不朽的话语"只是不要有任何意义".
我承认我对泛型的理解是非常基础的,但我想重载.Add()方法(和其他方法),以便它们返回原始对象,并允许链接.任何和所有的帮助将获得进一步的萤火虫报价奖励.
c# ×3
asp.net-mvc ×1
avalonedit ×1
casting ×1
generics ×1
html-helper ×1
modelstate ×1
overloading ×1
regex ×1
resharper ×1
sql ×1
themes ×1
viewmodel ×1
wpf ×1