在新的 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 中的所有控制器中拥有上下文?
这让我在过去几次疯狂,但我总是捏造它并继续前进.今天我想尝试解决它!
我经常创建一个GridView显示数据,并FormView在插入模式下直接在下面,InsertItemTemplate中的控件对应于其中的列GridView,因此它看起来就像FormView是GridView等待新数据条目的空行.这非常有效.
问题是我永远无法得到'列'(实际上只是文本框)FormView的宽度,以对应于GridView上面列的宽度.
在下面的例子中,你可以看到,无论是GridView和FormView具有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) 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) 我已经构建了一个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# ×2
asp.net ×1
asp.net-core ×1
constructor ×1
css ×1
formview ×1
gridview ×1
pdfium ×1
winforms ×1