我的 MVC5 应用程序选择“dd/MM/yyyy”格式的日期会导致“字段 xxx 必须是日期”错误。另一方面,如果我在下面注释kendoValidator()行,错误已经消失,但在这种情况下,我无法执行客户端验证,因此我想使用 kendoValidator。以下是与此控件相关的代码部分。
实体:
[Required(ErrorMessage = "Required field")]
[Display(Name = "Start Date")]
public DateTime StartDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
看法:
...
<script src="~/Scripts/kendo/2014.3.1119/cultures/kendo.culture.de.min.js"></script>
<script src="~/Scripts/kendo/2014.3.1119/messages/kendo.messages.de-DE.min.js"></script>
<script>
$(function () {
$("form").kendoValidator(); //This line cause the error...
});
</script>
@Html.LabelFor(m => m.StartDate )
@(Html.Kendo().DatePickerFor(m => m.StartDate)
.Animation(true)
.Culture("de-DE")
.Footer(false)
.Format("dd/MM/yyyy")
.Value(DateTime.Today)
)
Run Code Online (Sandbox Code Playgroud)
实体或视图是否有任何缺失或错误的定义?IE
[DataType(DataType.Date)]
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助...
asp.net-mvc datetimepicker kendo-ui kendo-asp.net-mvc kendo-validator
当我想通过右键单击项目和添加>引用选项来添加System.Web.Mvc时,只有版本3.0.0.0和4.0.0.0.但是,我将项目创建为MVC 5.另一方面,尝试在Nuget Package上添加此引用,没有相同名称的引用.而不是这个,还有另一个名为So的引用:
1)如何添加System.Web.Mvc(版本5或更高版本)引用我的项目,包括类库?
2)System.Web.Mvc和Microsoft.AspNet.Mvc有什么区别?
提前致谢.
asp.net-mvc reference nuget-package visual-studio-2013 asp.net-mvc-5
我已经尝试了CSS选择器上提到的所有可能的方法,但我还没有设法改变仅在fieldset元素内部的标签的样式.你能告诉我我做错了什么吗?
视图:
<div class="container">
<div class="panel panel-default">
<div class="panel-body">
<div class="row">
<div class="col-md-8 portfolio-item">
<fieldset>
<legend>Details</legend>
<div class="col-md-4 portfolio-item" >
@Html.LabelFor(m => m.ID):
@Html.DisplayFor(m => m.ID)
<br />
@Html.LabelFor(m => m.Name):
@Html.DisplayFor(m => m.Name)
<br />
@Html.LabelFor(m => m.Surname):
@Html.DisplayFor(m => m.Surname)
<br />
</div>
<div class="col-md-8 portfolio-item" >
@Html.LabelFor(m => m.Department):
@Html.DisplayFor(m => m.Department)
<br />
@Html.LabelFor(m => m.Address):
@Html.DisplayFor(m => m.Address)
<br />
@Html.LabelFor(m => m.City):
@Html.DisplayFor(m => m.City)
<br />
</div>
</fieldset>
</div> …Run Code Online (Sandbox Code Playgroud) 我的mat-paginator子组件如下所示:
子组件.html
<mat-paginator #paginator></mat-paginator>
Run Code Online (Sandbox Code Playgroud)
我想使用@ViewChild()如下所示从父组件获取此分页器:
父组件.html
<child
<!-- code omitted for simplicity -->
>
</child>
Run Code Online (Sandbox Code Playgroud)
@ViewChild('paginator') paginator: MatPaginator;
resetPaginator() {
this.paginator.firstPage();
}
Run Code Online (Sandbox Code Playgroud)
但由于this.paginator未定义,我无法访问子组件中的分页器。我不确定如何从父级访问分页器。一种方法可能是使用以下方法,但如果有一种优雅的方法,我会更喜欢它。任何想法?
@ViewChild(ChildComponent) child: ChildComponent;
Run Code Online (Sandbox Code Playgroud) javascript angular-material angular mat-table mat-pagination
我认为在很多情况下这是一个普遍问题,但我没有在网上找到合适的答案.在我的MVC应用程序中,我有以下表格:
问题表:
---------------------------------------------
IssueID (pk) | CategoryID (fk) | IssueNumber
---------------------------------------------
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
4 | 1 | 3
Run Code Online (Sandbox Code Playgroud)
分类表:
-----------------------------------
CategoryID (pk) | Prefix | Name
-----------------------------------
1 | COM | Computer
2 | GEN | General
Run Code Online (Sandbox Code Playgroud)
在这里,我对两个类别(COM和GEN)使用IssueID(主键)字段.另一方面,我想依次生成IssueNumber(1,2,3 ......)而没有任何CategoryID的差距.另一方面,我还想从1开始为另一个类别创建IssueNumber,如上所示.所以问题是:
1)上述方法有问题吗?如果是这样,你对此有何建议?
2)在创建记录之前,如何获取IssueNumber的最大值?我想在SaveChanges()方法上做这个(我使用Entity Framework).由于我没有将IssueNumber字段设为PK,因此我无法使MsSQL Server自动增加此列值.
任何帮助,将不胜感激.提前致谢.
更新:
以下是使用lambda的解决方案:
public int SaveIssue(Issue issue)
{
int max = context.Issues.Where(m => m.CategoryID == issue.CategoryID ).Max(m => m.IssueNumber);
issue.IssueNum = max + 1; …Run Code Online (Sandbox Code Playgroud) sql-server asp.net-mvc entity-framework primary-key code-first
在我的MVC应用程序中,我在域模型中定义了DataAnnotations.尽管在使用域模型时可以检索DataAnnotations属性作为Display等,但在ViewModel上使用相同的属性并使用此ViewModel时,无法检索它们.我认为再次在ViewModel中定义DataAnnotations似乎并不好.那么,我应该遵循哪种方式?
领域模型:
public class Issue
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage = "Required")]
[Display(Name = "Project Number")]
public int ProjectID { get; set; }
[Required(ErrorMessage = "Required")]
[Display(Name = "Issue Definition")]
public string Description { get; set; }
//... removed for brevity
//Navigation Properties:
public virtual ICollection<FileAttachment> FileAttachments { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图模型:
public class IssueViewModel
{
public int ID { get; set; }
public int ProjectID { get; set; }
public string Description { …Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc domain-model data-annotations asp.net-mvc-viewmodel
我jQuery Datatable用于列出记录并添加一个Action按钮(编辑)来编辑模式对话框中的记录.如果我选择一行,我可以获取行id值并在模态对话框中打开相关记录.但是,如果我Edit直接单击该按钮,则无法获取相关记录的Id值(在同一行上),因为单击Edit按钮时不会首先选中该值.我想要做的是:我想获得我单击编辑按钮的行的Id值.可能吗?如果没有,我可以在单击Edit按钮时以编程方式选择悬停行吗?(如果先前的情况是可能的,我会更喜欢它).任何的想法?
function openModal() {
var table = $('#dtbListAccount').DataTable();
var oRow = $('this').parents('tr')[0];
var oData = table.fnGetData(oRow);
//code omitted for brevity
};
Run Code Online (Sandbox Code Playgroud)
在一个 MVC5 项目中,我打开一个模态对话框,如果出现异常,我想打开这个对话框并在这个对话框的 div 上显示一条消息。据我所知,我应该遵循将 partialview 渲染为字符串的方法,但大多数示例在 MVC5 中都不起作用,因为在Return Partial View 和 JSON from ASP.NET MVC Action 上。是否有任何类似或更好的方法适用于 MVC5?
我正在使用PrimeNG 编辑器(基于Angular 7 项目中的 Quill),我想自定义工具栏。虽然我已经尝试了 HTML 和 JavaScript 端的一些配置选项,但我唯一能更新的是placeholderHTML 端的属性。这是我的方法(我将编辑器定义为自定义控件):
#FormComponent.ts:
public controlDescription = new ControlEditor({
key: 'Description',
label: 'Description',
required: true
});
this.controls = [this.controlDescription, ... ];
Run Code Online (Sandbox Code Playgroud)
#FormComponent.html:
<div comp-dynamic-control [form]="form" [control]="controlDescription"></div>
Run Code Online (Sandbox Code Playgroud)
#ControlEditor.html:
<p-editor [formControlName]="control.key" placeholder='Compose text...'></p-editor>
Run Code Online (Sandbox Code Playgroud)
请注意,我还尝试在FormComponent.html中使用以下代码直接使用编辑器(不使用自定义编辑器),但尽管添加了import {EditorModule} from 'primeng/editor'; ,但页面上似乎没有编辑器;到 ControlEditor.ts 文件。任何想法?
<p-editor formControlName="description" [style]="{'height':'320px'}"></p-editor>
Run Code Online (Sandbox Code Playgroud) 我在 odder 中使用以下方法通过为每个 HTTP 调用传递pageIndex(1) 和pageSize(500) 来检索数据。
this.demoService.geList(1, 500).subscribe(data => {
this.data = data.items;
});
Run Code Online (Sandbox Code Playgroud)
响应有一个名为的属性isMore,如果为 true,我想修改 odder 中的方法以继续 HTTP 调用isMore。我还需要合并返回的值,最后返回累加的值。
例如,假设有 5000 条记录,并且在第 10 次 HTTP 调用之前,服务将返回 true 值isMore。第 10 次 HTTP 调用后,它返回 false,然后此方法this.data用合并的 5000 条记录设置值。对于这个问题,我应该使用mergeMaporexpand或其他RxJs运算符吗?解决这个问题的正确方法是什么?
更新:我使用以下方法,但它不会合并返回的值,也不会增加 pageIndex。由于这个原因,它不起作用(我尝试进行一些更改,但无法使其工作)。
let pageIndex = 0;
this.demoService.geList(pageIndex+1, 500).pipe(
expand((data) => {
if(data.isComplete) {
return of(EMPTY);
} else {
return this.demoService.geList(pageIndex+1, 500);
}
})
).subscribe((data) …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×6
angular ×3
javascript ×3
typescript ×2
ajax ×1
c# ×1
code-first ×1
css ×1
css3 ×1
datatable ×1
datatables ×1
domain-model ×1
jquery ×1
json ×1
kendo-ui ×1
mat-table ×1
primary-key ×1
primeng ×1
reactjs ×1
reference ×1
rxjs ×1
sql-server ×1