我真的不喜欢VS 2012的"Light"主题.我已经设法改变了一些东西以使它变得更好但是有一件事仍然让我讨厌 - 事实上解决方案资源管理器背景是浅灰色.有没有办法将其改回白色?我无法在选项>环境>字体和颜色中看到解决方案资源管理器的条目,那么我该如何更改?它存储在某个主题文件中吗?
(请注意我不打算以编程方式执行此操作,因此这不是现有类似问题的欺骗)
如果我从文件或当前用户的商店加载证书,我有一些工作代码可以产生正确的字符串签名.但是,如果我从计算机证书存储中加载完全相同的证书(相同的.p12和相同的指纹),则其行为会有所不同.从该商店加载时,我的C#代码生成的签名是长度的一半(1024位而不是2048)并且不正确.在这两种情况下,私钥似乎都正确加载.
为什么加载证书的存储与生成哪个签名有什么区别?为什么签名的长度只有一半?
从CurrentUser加载:
Thumbprint: FBBE05A1C5F2AEF637CDE20A7985CD1011861651
Has private key:True
rsa.KeySize (bits) =2048
Signature Length (bits): 2048
Signature: kBC2yh0WCo/AU8aVo+VUbRoh67aIJ7SWM4dRMkNvt...
Run Code Online (Sandbox Code Playgroud)
(正确)
从LocalMachine加载:
Thumbprint: FBBE05A1C5F2AEF637CDE20A7985CD1011861651
Has private key: True
rsa.KeySize (bits) = 1024
Signature Length (bits): 1024
Signature: RijmdQ73DXHK1IUYkOzov2R+WRdHW8tLqsH....
Run Code Online (Sandbox Code Playgroud)
(不正确 - 并注意1024位密钥大小和签名长度)
这是我正在使用的C#:
string s = "AE0DE01564,1484821101811,http://localhost:8080/example_site/CallBack";
var inputData = Encoding.UTF8.GetBytes(s);
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
string thumbprint = CleanThumbPrint("fb be 05 a1 c5 f2 ae f6 37 cd e2 0a 79 85 cd 10 11 86 16 51");
X509Certificate2Collection …Run Code Online (Sandbox Code Playgroud) 使用datareader时是否无法获得存储过程的返回值?返回值始终为null,但SP从SSMS中返回有效的int.
myCommand.CommandText = "GetVenueVideos";
SqlParameter retVal = new SqlParameter("@returnValue",SqlDbType.Int);
retVal.Direction = ParameterDirection.ReturnValue;
myCommand.Parameters.Add(retVal);
myReader = myCommand.ExecuteReader();
if (myReader.Read() && myReader.HasRows)
{
int returnValue = Convert.ToInt32(retVal.Value);
//returnValue is null at this point
}
Run Code Online (Sandbox Code Playgroud) 有没有办法使用jQuery从数据文件(例如JSON .js文件)加载数据?
例如:
$.get("file:///C:/objectData.js", function() { alert('Load was performed.'); });
Run Code Online (Sandbox Code Playgroud)
目前,JQuery似乎没有进行简单的HTTP GET,而是尝试对其执行OPTIONS请求,该请求在file:// URI上失败.我只想加载数据,以便可以在脱机环境中使用该站点(不安装Web服务器).
我访问了我的iPhone/iPad上的一些网站,这些网站促使我在我第一次访问该网站时安装本机应用程序.是否存在人们用于此的标准脚本,或者我应该创建自己的脚本?这肯定已经成千上万次,但尽管谷歌搜索无穷无尽,我找不到我可以使用的'股票'脚本.理想情况下,它应该使用cookie,这样用户每月不会被提示超过一次.
我正在尝试使用ListItems列表将项目添加到下拉列表,但它没有获取值(仅文本).
代码如下(从我实际使用的代码中简化):
PositionDropDown.DataSource = GetPositionOptions();
PositionDropDown.DataBind();
private List<ListItem> GetPositionOptions()
{
List<ListItem> items = new List<ListItem>();
items.Add(new ListItem("",""));
items.Add(new ListItem("Top (main)", "TOP"));
items.Add(new ListItem("Bottom (full width)", "BTM"));
items.Add(new ListItem("Bottom Left", "MIL"));
items.Add(new ListItem("Bottom Middle", "MID"));
return items;
}
Run Code Online (Sandbox Code Playgroud)
但是,呈现的HTML缺少ListItem构造函数的第2个参数中指定的值:
<option value=""></option>
<option value="Top (main)">Top (main)</option>
<option value="Bottom (full width)">Bottom (full width)</option>
<option value="Bottom Left">Bottom Left</option>
<option value="Bottom Middle">Bottom Middle</option>
Run Code Online (Sandbox Code Playgroud)
为什么它不使用指定的"值"而只是在呈现HTML时重复"名称"?我究竟做错了什么?
在将新记录插入访问数据库时,我收到"条件表达式中的数据类型不匹配"错误.该应用程序在英国计算机上运行良好,但在南非计算机上它会抛出此错误.这让我觉得它与日期格式有关.但是,如果我将自己的区域设置更改为南非,我无法重现错误.
代码如下:
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "INSERT INTO tblOrders "
+ "( UserID, AccountNumber, EmailAddress, InvoiceAddressID, DeliveryAddressID, PurchaseOrderReference, Comments, TotalPrice, [Date] )"
+ "VALUES (?,?,?,?,?,?,?,?,?);";
cmd.Parameters.Add(new OleDbParameter("@UserID", OleDbType.Integer)).Value = userID;
cmd.Parameters.Add(new OleDbParameter("@AccountNumber", OleDbType.VarChar)).Value = accountNumber;
cmd.Parameters.Add(new OleDbParameter("@EmailAddress", OleDbType.VarChar)).Value = emailAddress;
cmd.Parameters.Add(new OleDbParameter("@InvoiceAddressID", OleDbType.Integer)).Value = invoiceAddressID;
cmd.Parameters.Add(new OleDbParameter("@DeliveryAddressID", OleDbType.Integer)).Value = deliveryAddressID;
cmd.Parameters.Add(new OleDbParameter("@PurchaseOrderReference", OleDbType.VarChar)).Value = purchaseOrderReference;
cmd.Parameters.Add(new OleDbParameter("@Comments", OleDbType.VarChar)).Value = comments;
cmd.Parameters.Add(new OleDbParameter("@TotalPrice", OleDbType.Decimal)).Value = totalPrice;
cmd.Parameters.Add(new OleDbParameter("@Date", OleDbType.Date)).Value = date;
cmd.Parameters.Add(new OleDbParameter("@ID",OleDbType.Integer)).Value = orderID;
ExecuteNonQuery(cmd); // this …Run Code Online (Sandbox Code Playgroud) 我在SQL Server 2005中有以下查询工作正常:
DECLARE @venuename NVARCHAR(100)
DECLARE @town NVARCHAR(100)
SET @venuename = NULL -- normally these are parameters in the stored proc.
SET @town = 'London'
SELECT COUNT(*) FROM dbo.Venue
WHERE
(@VenueName IS NULL OR CONTAINS((Venue.VenueName), @VenueName))
AND
(@Town IS NULL OR Town LIKE @Town + '%')
Run Code Online (Sandbox Code Playgroud)
当为参数传递空值时,它会使用短路(实际SP中的数量比我的示例中显示的要多).
但是,在升级到SQL 2012之后,为@VenueName传递NULL并运行此查询失败并显示错误" 空或全文谓词 ",因为SQL Server似乎正在运行(或评估)@VenueName的CONTAINS语句,即使@VenueName也是如此设置为NULL.
有没有办法在2012年使用短路或这是不可能的?我不想重写我的所有SP,因为我们多年来在多个项目中使用了这种技术在几十个存储过程中.
我正在尝试在IIS上设置自定义404错误,需要转到ASPX页面(404.aspx).如果我浏览网站并转到一个不存在的.aspx页面(例如/not-here.aspx,则会按预期使用自定义404页面.但是,如果我转到像/ not-here这样的无扩展URL,那么我只是获得IIS自己的默认404页面由静态内容处理程序提供,而不是404.aspx通过ASP.NET
IIS(8.5)设置为"在此站点上执行URL",设置为/404.aspx
如何让IIS使用404.aspx来解决所有404错误?这适用于我们古老的IIS6服务器,但我不能让它在IIS 8.5上工作
我有一个 ComboBox 通过数据源绑定到一个列表。出于某种原因,当数据源项更改时,组合框中的项似乎不会自动更新。我可以在调试器中看到数据源包含正确的项目。
StackOverflow 上有很多关于这个的答案,但大多数要么没有答案,要么对我不起作用,要么需要从使用 Lists 更改为 BindingLists,由于使用 BindingLists 方法的代码量很大,我无法执行此实例有。
当然必须有一种简单的方法来告诉 ComboBox 刷新它的项目?我不敢相信这不存在。我已经有一个在需要更新 Combo 时触发的事件,但我更新值的代码无效。
组合声明:
this.devicePortCombo.DataBindings.Add(
new System.Windows.Forms.Binding("SelectedValue",
this.deviceManagementModelBindingSource, "SelectedDevice", true,
DataSourceUpdateMode.OnPropertyChanged));
this.devicePortCombo.DataSource = this.availableDevicesBindingSource;
Run Code Online (Sandbox Code Playgroud)
更新组合框的代码:
private void Instance_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "AvailableDevices")
{
// Rebind dropdown when available device list changes.
this.Invoke((MethodInvoker)delegate
{
devicePortCombo.DataSource = AvailableDevicesList;
devicePortCombo.DataBindings[0].ReadValue();
devicePortCombo.Refresh();
});
}
}
Run Code Online (Sandbox Code Playgroud) asp.net ×3
c# ×3
sql ×2
.net ×1
combobox ×1
cryptography ×1
encryption ×1
generic-list ×1
iis ×1
iis-8 ×1
ios ×1
ipad ×1
iphone ×1
javascript ×1
jquery ×1
ms-access ×1
oledb ×1
sql-server ×1
t-sql ×1
winforms ×1