小编Jac*_*ack的帖子

kendoValidator() 在使用 DatePicker 时导致“字段 xxx 必须是日期”错误

我的 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

3
推荐指数
1
解决办法
6977
查看次数

如何将System.Web.Mvc版本5添加到项目引用

当我想通过右键单击项目和添加>引用选项来添加System.Web.Mvc时,只有版本3.0.0.0和4.0.0.0.但是,我将项目创建为MVC 5.另一方面,尝试在Nuget Package上添加此引用,没有相同名称的引用.而不是这个,还有另一个名为So的引用:

1)如何添加System.Web.Mvc(版本5或更高版本)引用我的项目,包括类库?

2)System.Web.MvcMicrosoft.AspNet.Mvc有什么区别?

提前致谢.

asp.net-mvc reference nuget-package visual-studio-2013 asp.net-mvc-5

3
推荐指数
1
解决办法
7049
查看次数

如何使用CSS在fieldsets中设置标签样式?

我已经尝试了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)

css css-selectors css3

3
推荐指数
1
解决办法
1722
查看次数

如何在 Angular 中从父组件访问子组件?

我的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)
***父组件.ts***
@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

3
推荐指数
1
解决办法
2万
查看次数

如何在创建新记录之前获取最大ID值?

我认为在很多情况下这是一个普遍问题,但我没有在网上找到合适的答案.在我的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

2
推荐指数
1
解决办法
1531
查看次数

是否可以在ViewModel中重用DataAnnotations?

在我的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

2
推荐指数
1
解决办法
763
查看次数

如何通过单击DataTable的同一行上的"编辑"按钮获取Id值

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)

在此输入图像描述

javascript asp.net-mvc datatable jquery datatables

2
推荐指数
1
解决办法
1万
查看次数

从 MVC 5 控制器返回 Partialview 和 JSON

在一个 MVC5 项目中,我打开一个模态对话框,如果出现异常,我想打开这个对话框并在这个对话框的 div 上显示一条消息。据我所知,我应该遵循将 partialview 渲染为字符串的方法,但大多数示例在 MVC5 中都不起作用,因为在Return Partial View 和 JSON from ASP.NET MVC Action 上。是否有任何类似或更好的方法适用于 MVC5?

ajax asp.net-mvc json asp.net-mvc-partialview asp.net-mvc-4

2
推荐指数
1
解决办法
5924
查看次数

无法在 Angular 中自定义 PrimeNG Quill 编辑器

我正在使用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)

typescript primeng angular

2
推荐指数
1
解决办法
4178
查看次数

如何使用 RxJs 运算符进行递归 HTTP 调用?

我在 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)

javascript rxjs typescript reactjs angular

2
推荐指数
1
解决办法
1139
查看次数