1
我使用ASP.NET MVC 3,我有我添加自己的自定義驗證屬性:ASP.NET MVC 3 IClientValidatable屬性 - 明確的參數緩存
public class CustomAttribute : ValidationAttribute, IClientValidatable {
private readonly string _parameter1;
public CustomAttribute(string parameter1) {
_parameter1 = Global.Settings[parameter1];
}
protected override ValidationResult IsValid(object value, ValidationContext context) {
...
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) {
yield return new ModelClientValidationRule() {
ErrorMessage = FormatErrorMessage(metadata.DisplayName),
ValidationType = "custom",
ValidationParameters = { { "parameter1", _parameter1 } }
};
}
}
注意它是如何實現IClientValidatable
。這會將parameters1
設置呈現爲頁面中字段中的HTML 5數據屬性。
我的問題是設置的值可以改變,但每次改變它仍然呈現數據屬性中的舊值。我猜這是緩存在某處。無論如何刪除緩存?
我會很感激的幫助。謝謝
有沒有辦法做到這一點,而無需重新啓動應用程序/池?在生產環境中,這是不可行的,否則所有活動會話都會丟失,至少可以說我沒有看到 – mrd3650 2016-04-27 13:31:28
。自從我發佈這個問題以來,我一直沒有看過,所以也許有人提出了一個更好的方法。 – nfplee 2016-04-27 15:32:31