小编Phi*_*ord的帖子

有没有更好的方法将 dbcontext 添加到 Asp.core MVC 控制器?

在新的 MVC Core 中,获取控制器上下文的标准方法似乎是这样做

public class BaseController : Controller
{
    public readonly ReportDBContext _db;
    
    public BaseController(ReportDBContext db)
    {
        _db = db;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以使用

public class HomeController : BaseController
{   
    public HomeController(ReportDBContext db) : base(db) { }
}
Run Code Online (Sandbox Code Playgroud)

为了使这在所有其他控制器中变得更容易一些。通常在 Asp.net MVC 中我可以通过使用随时获取上下文new ReportDBContext()

现在是否有类似的方法,或者我是否必须在 asp.core MVC 中的所有控制器中拥有上下文?

c# constructor entity-framework-core asp.net-core

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

FormView布局

这让我在过去几次疯狂,但我总是捏造它并继续前进.今天我想尝试解决它!

我经常创建一个GridView显示数据,并FormView在插入模式下直接在下面,InsertItemTemplate中的控件对应于其中的列GridView,因此它看起来就像FormViewGridView等待新数据条目的空行.这非常有效.

问题是我永远无法得到'列'(实际上只是文本框)FormView的宽度,以对应于GridView上面列的宽度.

在下面的例子中,你可以看到,无论是GridViewFormView具有100%的宽度,果然,当页面呈现他们都是一模一样的宽度(我给了FormView一个短暂边境检查).但是,即使文本框FormView的宽度与列中宽度相同GridView,它们也不会以这种方式显示.文本框略宽,当您到达最右侧的列时,累积效果意味着对齐方式已经过时.

我猜这个问题与边框宽度或正在渲染的其他隐藏元素有关,但我无法弄明白.我不得不说,对齐的数量似乎超过了边界会影响事物的几个像素.

<asp:GridView ID="gvTPR" runat="server" DataSourceID="SQLTPR" AutoGenerateColumns="false" DataMember="DefaultView" DataKeyNames="TPRID" Width="100%" >
<RowStyle HorizontalAlign="Center" />
<EditRowStyle BackColor="#ccffff" />
<HeaderStyle BackColor="#013b82" ForeColor="White" />
<Columns>
<asp:BoundField DataField="TPREnteredAt" HeaderText="Entered At" ReadOnly="True" SortExpression="TPREnteredAt" ItemStyle-Width="24%" ControlStyle-Width="90%" />
<asp:BoundField DataField="TPRTemp" HeaderText="Temp" ReadOnly="True" SortExpression="TPRTemp" ItemStyle-Width="12%" ControlStyle-Width="90%"/>
<asp:BoundField DataField="TPRPulse" HeaderText="Pulse" ReadOnly="True" SortExpression="TPRPulse" ItemStyle-Width="12%" ControlStyle-Width="90%"/>
<asp:BoundField DataField="TPRRespiration" HeaderText="Respiration" ReadOnly="True" SortExpression="TPRRespiration" ItemStyle-Width="12%" ControlStyle-Width="90%"/>
<asp:BoundField …
Run Code Online (Sandbox Code Playgroud)

asp.net gridview formview

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

Vertically stack elements with absolute positioning using only CSS

Maybe it's just late in the day but I can't figure this out even though it appears a relatively simple problem.

I have a simple jQuery function which is fired when a button is clicked. It creates elements and appends them to the body of my DOM:

$("#addBlock").click(function(){
    var $block = $("<div class='block'>I'm a block</div>");
    $("body").append($block);
});
Run Code Online (Sandbox Code Playgroud)

The .block class includes absolute positioning, like so:

.block {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 200px;
    height: 50px;
    background-color: #A6201C;
    color: …
Run Code Online (Sandbox Code Playgroud)

css

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

允许PDFium支持x86和x64

我已经构建了一个WinForms应用程序,该应用程序使用PDFium打印PDF文档。我从NuGet安装了PDFium,并按预期在我的项目中创建了两个子文件夹x86和x64,每个子文件夹中都包含相关版本的pdfium.dll。我的应用程序的目标平台设置为Any CPU

当我在Windows 10 64位计算机上以调试方式运行应用程序时,它可以完美运行。但是,当我发布该应用程序并将其真正安装在同一台计算机上时,PDFium抛出异常:

System.BadImageFormatException:试图加载格式错误的程序。(来自HRESULT的异常:0x8007000B)

经过研究后,我将应用程序的目标平台更改为x86,并从项目中删除了x64子文件夹。现在,该应用程序在发行后可以正常运行,因此问题得以解决。

但是,我想知道是否有一种方法可以使我的应用程序正常工作,以便使用适用于目标计算机的PDFium版本来支持x86和x64。如果能在支持它的机器上安装64位版本(这是我们组织中的大多数人,但我觉得如果必须选择32位版本,则我应该使用32位版本)会很好。其他,以确保兼容性)。

c# winforms pdfium

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