我使用ASP.NET MVC 3与unobstrusive验证JavaScript.我也在使用jquery ui标签,我想选择一个包含无效消息元素的标签.
因此,为此,我需要在评估jquery.validate之后调用脚本.
我试过这样的:
$(':submit').submit(function () {
var invalidField = $(".input-validation-error");
if (invalidField ) {
tabid = //some script to detect wich tab contains the invalidField
$('#someTabed').tabs('select', tabid));
}
});
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我点击提交按钮TWICE.这意味着在我想要的事件之后不会调用此方法.
所以我需要知道如何拦截由不引人注意的验证所做的验证方法,然后在我之后使用我的方法.
这就是事情.
我有一个接口,我想把Include属于EntityFramework库的扩展方法放到我的IRepository层,不需要知道EntityFramework.
public interface IRepository<TEntity>
{
IQueryable<TEntity> Entities { get; }
TEntity GetById(long id);
TEntity Insert(TEntity entity);
void Update(TEntity entity);
void Delete(TEntity entity);
void Delete(long id);
}
Run Code Online (Sandbox Code Playgroud)
所以我有扩展方法:
public static class IncludeExtension
{
static IQueryable<TEntity> Include<TEntity>(this IQueryable<TEntity> query,
string path)
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在这一层实现它,我想把它发送到我的EntityFramework(或任何将实现IRepository的人)来处理.
我需要一个带扩展方法的接口.
有光吗?
我有使用Entity Framework Code First映射的这些类:
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
//... additional properties
[Required]
public virtual ICollection<Address> Addresses { get; set; }
}
public class Address
{
public int AddressId { get; set; }
public string Street { get; set; }
//... additional properties
public int PersonId { get; set; }
public virtual Person Person { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
因此,使用ASP.NET MVC 3,如何在一个表单中执行人员编辑视图以填充地址中的所有人员属性?
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset> …Run Code Online (Sandbox Code Playgroud) one-to-many ef-code-first entity-framework-4.1 asp.net-mvc-3
我想使用来自可配置源的asp.net mvc客户端/服务器验证.
有些像.config文件,我可以放置信息:Type,Member,ValidationType
<validations>
<add type="Customer" member="Name" validator="Required" />
<add type="Customer" member="Age" validator="Range" mimimum="18" maximum="100" />
</validations>
Run Code Online (Sandbox Code Playgroud)
通过此计划,可以启用/禁用验证.
任何的想法?
我上课了
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个Person类型的lambda表达式
Expression<Func<TModel, TProperty>> expression
Run Code Online (Sandbox Code Playgroud)
谁包含此值
{model => model.Name}
Run Code Online (Sandbox Code Playgroud)
如何针对Person实例计算lambda表达式,以提取Name值属性?
我试图使用shared观察者的运算符,但它不起作用:
我的代码:
import { Injectable } from '@angular/core';
import { Observer } from 'rxjs/observer';
import { Observable } from 'rxjs/observable';
import 'rxjs/add/operator/share';
@Injectable()
export class LoadingService {
private _observer: Observer<string>;
loading$: Observable<string>;
constructor() {
this.loading$ = new Observable<string>(
observer => this._observer = observer).share();
}
toggleLoadingIndicator(name) {
if (this._observer) {
this._observer.next(name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用时,.share();我得到错误:TypeError :(中间值).share不是函数.
在其他情况下,我成功导入例如地图运算符,并正常使用如下:
import 'rxjs/add/operator/map';
this._http.get(this._url, {
headers: this._headers
}).map(r => r.json()).subscribe(json => {
console.log(json);
this.isValid = true;
});
Run Code Online (Sandbox Code Playgroud)
因此,即使我尝试使用map运算符来证明导入,在第一种情况下this.loading$ …
angular ×1
asp.net-mvc ×1
code-first ×1
config ×1
import ×1
jquery ×1
lambda ×1
linq ×1
methods ×1
observable ×1
one-to-many ×1
rxjs ×1
validation ×1