小编Nu-*_*hin的帖子

对于标有PhoneAttribute或UrlAttribute的字段,请允许空字符串

我正在使用CodeFirst Entitty框架5.我有一个代表用户的类.

public class User
{
    [Key]
    public int UserId { get; set; }

    [Url]
    [DataType(DataType.Url)]
    [Required(AllowEmptyStrings= true)]
    public string WebSite { get; set; }

    [Phone]
    [DataType(DataType.PhoneNumber)]
    [Required(AllowEmptyStrings = true)]
    public string Phone { get; set; }

    [Phone]
    [DataType(DataType.PhoneNumber)]
    [Required(AllowEmptyStrings = true)]
    public string Fax { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我喜欢验证机制PhoneUrl属性很多,但不幸的是,当标记有这些属性的字段是我想要允许的空字符串时,验证失败.[Required(AllowEmptyStrings = true)]似乎不适用PhoneUrl属性.这似乎适用于其他一些DataAnnotations属性EmailAddress.

有没有办法为标记有这些属性的字段允许空字符串?

c# validation entity-framework data-annotations ef-code-first

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

通过 OpenXML SDK 插入时如何保持当前样式?

我有一个 docx 文档,我想通过 OpenXML SDK 修改它。该文档有一个表格,其单元格中带有书签。这些单元格具有特定的字体设置,假设它是 Times New Roman,14pt。当我尝试插入一些这样的文本时:

    public void ReplaceBookmark(string bookMarkName, string text)
    {
        var bookmarkStart =
            _document.MainDocumentPart.RootElement.Descendants<BookmarkStart>()
        .Where(p => p.Name == bookMarkName)
        .FirstOrDefault();
        if (bookmarkStart == null)
            return;

        bookmarkStart.InsertAfterSelf(new Run(new Text(text)));            
    }
Run Code Online (Sandbox Code Playgroud)

文本已插入,但其样式设置为 Calibri, 11pt(默认样式)。如何插入文本以保留字体设置?重要的是,我不应该在代码中定义任何样式设置,而应该使用原始文档中的样式设置。

谢谢。

.net c# ms-office openxml-sdk

5
推荐指数
1
解决办法
1639
查看次数