我正在研究MVC3的proyect,我正在尝试将qTip2与jQuery验证集成,以便将错误显示为浮动提示.我遇到的问题是显然在表单验证上调用errorPlacement没有做任何事情,猜测它与MVC处理它的方式有关.
基本上,我想要做的是使用MVC3和jQuery(注释)之间的集成验证,但也与qTip集成以更改错误消息的显示方式.
我已经搜遍了所有我找到的最好的是有人建议修改jquery.validate.unobtrusive.js - onError函数,但我检查了它并且不知道如何正确地修改它,加上更喜欢没有的解决方案要求我改变现有的脚本.
谢谢您的帮助.
到目前为止我所拥有的:
我的型号:
public class User
{
[Required]
public string Id { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
public string FirstName { get; set; }
public string SecondName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的观点中的javascript:
$('#Form').validate({
errorClass: "errormessage",
errorClass: 'error',
validClass: 'valid',
errorPlacement: function (error, element) {
// Set positioning based on the elements position in the form
var elem = $(element),
corners …Run Code Online (Sandbox Code Playgroud) 我有一系列NUnit测试,有些失败,但我似乎无法找到原因,而且异常告诉我什么.这是我的情况:
//Controller Action
[HttpPost]
[AjaxExceptionHandler]
[OutputCache(Duration = 0)]
public PartialViewResult SomeAction(long id)
{
try
{
var model = _repository.GetModel(id);
return PartialView(@"MyPartialView", model);
}
catch (Exception ex)
{
exceptionManager.HandleException(ex, FT_EXCEPTION_POLICY);
throw;
}
}
//Action Unit Test
[Test]
[Category(TestConstants.UnitTest)]
public void SomeAction_Returns_Expected_View()
{
var model = Builder<ViewModel>.CreateNew().Build();
repository.Stub(it => it.GetModel(Arg<long>.Is.Anything)).Return(model);
var viewResult = (PartialViewResult)someController.SomeAction(1);
Assert.AreEqual(@"MyPartialView", viewResult.ViewName);
}
Run Code Online (Sandbox Code Playgroud)
单元测试例外:
System.AccessViolationException:尝试读取或写入受保护的内存.这通常表明其他内存已损坏.
如果在我的操作中,我将null值传递给局部视图,如下所示:return PartialView(@"MyPartialView", null);然后测试通过.
其他类似的案例也失败了,但其他案件也通过了.我无法确定每个原因.
谁能帮我辨别出什么问题?
谢谢,
编辑:好的,我修复了所有其他失败的测试,现在我只剩下System.AccessViolationException.
从我的测试中添加安装程序:
[SetUp]
public void SetUp()
{
controllerBuilder = new TestControllerBuilder(); …Run Code Online (Sandbox Code Playgroud) 我需要跟踪在天蓝色存储队列中处理消息的失败尝试次数,并在N次尝试失败后删除消息.
我已搜查,但没有发现,这是否automaticaly并想知道是否有比在存储表使用计数器等方式任何特殊的性质.
我想让用户选择不同属性的搜索.例如
[输入文本] | [选择选项{ID,NAME,PHONE}] | [搜索]
然后我会像这样构建我的查询:
repository.Where(lambda-expression)
Run Code Online (Sandbox Code Playgroud)
从所选选项{ID,NAME,PHONE}构建lambda表达式(例如:x => x.NAME.Equals(INPUT TEXT))
有没有办法从Property属性名称构建lambda,也许使用反射?
谢谢
有没有办法在服务器端代码中获取注释的值?例如,我有:
public class Dummy
{
[Display(Name = "Foo")]
public string foo { get; set; }
[Display(Name = "Bar")]
public string bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在服务器端获得值"Foo"而不将其发布回页面,但是像类的属性或类似的东西.就像@Html.LabelFor(model => model.Foo)但是在c#服务器代码中.
那可能吗?
谢谢.
这是我的情况:
我有这个视图模型:
public class ViewModel
{
public DateTime someDate { get; set; }
public String someString { get; set; }
public List<E> someList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我要做的是在视图中设置日期,写一些文本然后从E列表中选择任意数量的E.在操作中返回的ViewModel必须具有日期,文本并包含所选项的列表.
我需要知道的是如何处理所述列表.如何将每个选定的项目添加到模型的列表中.我正在考虑public bool selected向E 添加属性,然后发送所有项目并过滤服务器上的所选项目,但是我不愿意来回发送所有数据,因为列表可能非常大.
我正在使用带有剃刀和JQUERY AJAX的MVC3用于我的所有表单帖子.
如果我不清楚,请告诉我.
谢谢.
c# ×3
jquery ×2
annotations ×1
asp.net-mvc ×1
azure ×1
azure-queues ×1
lambda ×1
nunit ×1
qtip ×1
razor ×1
reflection ×1
unit-testing ×1
validation ×1
viewmodel ×1