小编Ran*_*iff的帖子

使用Angularjs中的pdfMake从HTML生成PDF

我想创建一个PDF使用我的HTML pdfMakeAngular(我也试了jsPDF,不能让它无论是工作).我尝试在Angular控制器中使用以下代码:

var blob = new Blob([document.getElementById('exportable').innerHTML])
var docDefinition = {
    content: [blob]
}
pdfMake.createPdf(docDefinition).open();
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法识别的文档结构:{"_ margin":null}".

我的HTML由div中的两个简单表组成exportable.

如果有人知道这个问题的解决方案,或者从Angular获取HTML到PDF的其他方法,请帮助.

任何帮助都非常感谢!

javascript pdf angularjs pdfmake

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

在转换日期时,方法'ToString'没有重载需要1个参数

我正在尝试将我的Angular ui-Datepicker中的日期保存到我的SQL数据库中.日期格式为(10-27-2015 12:00 AM),但不会保存.我尝试使用以下内容将其转换为SQL DateTime格式:

    DateTime? myDate = form.dteStartDate;
    string sqlFormattedDate = myDate.ToString("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

但是我收到错误"方法'ToString'没有重载需要1个参数.SQL中的字段是'datetime'类型.

非常感谢任何帮助.

.net c# datetime angularjs

30
推荐指数
4
解决办法
5万
查看次数

Visual Studio 2017无法将Shelveset移动到另一个分支

由于他们已经将大部分Power Tools功能集成到VS2017中,因此新命令"tf unshelve"与旧命令"tfpt unshelve"的工作方式不同,无法将shelvesets移动到另一个分支,因为您无法添加源和目标使用新命令.我真的不想在我的笔记本电脑上安装VS2015只是为了移动一个shelveset.有谁知道如何用VS2017做到这一点?我很难相信这已经不可能了.

非常感谢任何帮助!

visual-studio-2017 tfs2017

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

无法将方法组'FirstOrDefault'转换为非委托类型

我正在检索一个List,需要获取一个特定的记录.我尝试过几种不同的方式,但每种方式都会产生错误.我使用以下代码收到上述错误:

List<DashboardModel> dashboardData = CompanyClient.GetContractorRankingByMajorIDAndContractorID(majorId, contractorId);
DashboardModel SSQScore = new DashboardModel();
SSQScore = dashboardData.Where(x=>x.ModuleInstanceID == 1).FirstOrDefault;
Run Code Online (Sandbox Code Playgroud)

该方法返回List(GetContractor ...).

非常感谢任何帮助!

c# linq asp.net-mvc lambda asp.net-mvc-4

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

角度Ui-Grid条件CellTemplate

只要字段值不是空字符串,我需要在我的ui-grid中显示一个按钮.我尝试过使用ng-if但不起作用.这是我的网格选项中的代码:

  { field: 'ReleaseStatus', 
    width: 125, 
    displayName: 'Release Status', 
    cellTemplate: 
    '<div ng-if="row.entity.ReleaseStatus != """>
        <button id="editBtn" 
            type="button" 
            class="btn btn-default"  
            data-toggle="modal" 
            data-target="#myModal" 
            ng-click="grid.appScope.launch(row)">
            {{COL_FIELD}}
        </button>
    </div>'
   },
Run Code Online (Sandbox Code Playgroud)

没有ng-if按钮显示,效果很好.但是,由于某些记录的字段ReleaseStatus为空字符串,因此不应显示该按钮.

非常感谢任何帮助.

javascript angularjs angular-ui-grid

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

Asp.net Core 3.1 Web Api 从 IActionResult 返回自定义错误消息

是否可以从 Asp.Net Core 3.1 Web Api 返回自定义错误消息给客户端?我尝试了几种不同的方法来设置“ReasonPhrase”,但没有成功。我尝试过使用StatusCode

return StatusCode(406, "Employee already exists");
Run Code Online (Sandbox Code Playgroud)

我尝试使用 HttpResponseMessage 返回:

    HttpResponseMessage msg = new HttpResponseMessage();
    msg.StatusCode = HttpStatusCode.NotAcceptable;
    msg.ReasonPhrase = "Employee alredy exists";
    return (IActionResult)msg;
Run Code Online (Sandbox Code Playgroud)

我试图向客户端返回一条消息,调用该员工已存在的方法:

    public async Task<IActionResult> CreateEmployee([FromBody] EmployeeImport Employee)
    {
        var exists = await employeeService.CheckForExistingEmployee(Employee);
        if (exists > 0)
        {

            //return StatusCode(406, "Employee already exists");
            HttpResponseMessage msg = new HttpResponseMessage();
            msg.StatusCode = HttpStatusCode.NotAcceptable;
            msg.ReasonPhrase = "Employee already exists";
            return (IActionResult)msg;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是客户端中的代码:

    public async Task<ActionResult>AddEmployee(EmployeeImport employee)
    {
        var message …
Run Code Online (Sandbox Code Playgroud)

http-status-codes http-status-code-400 asp.net-core asp.net-core-webapi

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

来自子查询的 SQL 东西

我有一个返回服务和 ContractorID 列表的查询。我需要将这些服务填充到一个字段中,以通过 ContractorID 将它们与另一个选择语句连接起来,但我不知道如何去做。

列出服务的 Select 是“

    SELECT DISTINCT SM.ContractorID,

CASE WHEN S.bitRestrictedSelection = 1 
        THEN S.vchDescription + '*'
        ELSE S.vchDescription
    END AS vchDescription
FROM tblAscServiceRegionToOperator SRTO 
INNER JOIN tblServiceMatrix SM 
    ON SRTO.OperatorID = 12624
    AND SM.ServiceRegionID = SRTO.ServiceRegionID
    AND SM.bitPrimaryService = 1
INNER JOIN tblServices S
    ON S.ServiceID = SM.ServiceID
Run Code Online (Sandbox Code Playgroud)

这会产生以下结果:

在此处输入图片说明

在示例中,对于 Contractor #16 他有 4 个服务,我需要通过加入另一个 Select 语句将它们放在一个名为 services 的字段中,我尝试了以下操作,但出现错误:

    Select DISTINCT CompanyID, vchCompanyName as CompanyName,vchFIDNumber,vchPrimContactName, vchPrimContactEmail 
,stuff((','
    SELECT DISTINCT 
    SM.ContractorID,

        CASE WHEN S.bitRestrictedSelection = 1 
            THEN …
Run Code Online (Sandbox Code Playgroud)

sql-server

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

捕捞后无法退还布尔

我试图false在方法中捕获异常的情况下返回值,但是,它似乎是在返回异常而不是布尔值。

我用它来调用第一个方法:

try
{
    bool wasImported = WriteAddress(theCompany.CompanyId, company);
    if(wasImported == false)
    {
        ///some logic here
    }
}
catch(Exception ex)
{
    string msg = ex.Message;
}
Run Code Online (Sandbox Code Playgroud)

这里是WriteAddress方法:

private bool WriteAddress(Guid companyId, ModuleView.CompanyBO company)
{
    try
    {
        if (company.First_Address != "" || company.First_Address2 != "" || company.First_City != "" || company.First_State != "" || company.First_Zip != "")
        {
            bool isDate = false; 
            DateTime thisDate;
            ModuleView.AddressBO theAddress = new ModuleView.AddressBO();
            theAddress.CompanyId = companyId;
            // theAddress.Address = Conversions.Truncate(company.First_Address,200);
            theAddress.Address …
Run Code Online (Sandbox Code Playgroud)

c#

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

异步方法缺少等待

我在这个主题上找到了很多,但似乎没有一个例子/答案能解决我们的问题。我们不断收到警告说下面的方法(和其他类似的方法)缺少等待,但是当我们尝试添加等待时,我们得到“无法等待”(无论我们尝试添加等待的地方)。我们做错了什么?

protected async Task<T> PerformGet<T>(string requestUri, bool appendHeader)
        {
            try
            {
                _webApiClient = new HttpClient { BaseAddress = _baseAddress };
                if (appendHeader) AppendDefaultHeaders();
                var webApiResponse = Task.Run(() => _webApiClient.GetAsync(requestUri)).Result;
                var responseContent = webApiResponse.Content.ReadAsStringAsync().Result;
                return JsonConvert.DeserializeObject<T>(responseContent);
            } 
            catch (Exception ex) {
                throw ex;
            }
        }
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助!

c# asynchronous asp.net-web-api

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

Angularjs字节数组到Blob

我正在尝试使用Angular和PDF.js在我们的SQL数据库中查看保存在二进制数据中的PDF.从服务返回的数据如下所示:

在此输入图像描述

从本质上讲,我认为我需要创建一个objectURL才能工作,但我不确定如何将其转换为blob.我尝试过以下方法:

        .success(function (response) {
        var fileName = response[0].FileName;
        var fileImage = response[0].binFileImage;
        var blob = new Blob(fileImage, { type: 'application/pdf' });
        var fileURL = URL.createObjectURL(blob);
Run Code Online (Sandbox Code Playgroud)

我使用以下来转换图像文件:

 function base64ArrayBuffer(arrayBuffer) {
    var base64 = ''
    var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'

    var bytes = new Uint8Array(arrayBuffer)
    var byteLength = bytes.byteLength
    var byteRemainder = byteLength % 3
    var mainLength = byteLength - byteRemainder

    var a, b, c, d
    var chunk

    // Main loop deals with bytes in chunks of 3
    for (var i = …
Run Code Online (Sandbox Code Playgroud)

javascript pdf angularjs

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

尝试在集合上使用String.Join不会仅列出项目集合名称

我看上去到处似乎都有相同的反应,但找不到解决我所遇到问题的方法。我正在尝试将对象列表中的项目连接成一个字符串。但是,我得到的是页面的名称和对象的名称,即实际的列表值。

我试过了:

string combinedLog = string.Join(",", logList)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

string combinedLog = string.Join(",", logList.Select(c => c.ToString()).ToArray<string>());
Run Code Online (Sandbox Code Playgroud)

我得到的是PageName + Log,PageName + Log

这是对象:

    private class Log
    {
        public DateTime LogTime { get; set; }
        public string Result { get; set; }
        public string ItemName { get; set; }
        public Guid? ItemId { get; set; }
        public string ErrorMessage { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

列表是:

List<Log> logList = new List<Log>();
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取类似以下的字符串:“ 10/21/2019,失败,Acme,无法导入,10/21/2019,成功,ABC,没有错误”

c#

0
推荐指数
1
解决办法
45
查看次数