Tag: asp.net

CngKey.Import(…); 在PC上成功但在Web主机上失败

以下行在我的PC上成功,但在Web主机的服务器上抛出exception: CngKey.Import(EccPrivateBlob, CngKeyBlobFormat.EccPrivateBlob); //EccPrivateBlob is a byte[] that works on my PC. 例外: System.Security.Cryptography.CryptographicException:发生内部错误。 在System.Security.Cryptography.NCryptNative.OpenStorageProvider(String providerName)的System.Security.Cryptography.CngKey.Import(Byte [] keyBlob,CngKeyBlobFormat格式,CngProvider提供者)at … 这是安全例外吗? 有办法解决吗?

更改UpdatePanel外部的TextBox中的文本

我在UpdatePanel中有一个gridview(gridview在弹出窗口中显示)。 单击该网格中的选择按钮,我试图在页面中设置文本框文本。 但它不起作用,如果我删除更新面板,那么它将工作。 请帮忙。 这是我在aspx中的代码: .. .. .. No Records To Display

entity framework多对多关系表创建“向后”

我遇到了EF6和多对多关系的问题。 我有以下设置: public class Foo { public int Id { get; set; } public virtual ICollection Bars { get; set; } public virtual ICollection SubBars { get; set; } public Foo() { Bars = new HashSet(); SubBars = new HashSet(); } } public class Bar { public int Id { get; set; } public virtual […]

从ASP.NET转义JavaScript特殊字符

我在ASP.NET应用程序中有以下C#代码: string script = @”alert(‘Message head:\n\n” + CompoundErrStr + ” message tail.’);”; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “Test”, script, true); CompoundErrStr是SQL Server生成的错误消息(从存储过程冒出的exception文本)。 如果它包含任何表列名,则它们用单引号括起来,并在执行期间中断JavaScript,因为单引号被视为字符串终止符。 作为单引号的修复,我将代码更改为: CompoundErrStr = CompoundErrStr.Replace(“‘”, @”\'”); string script = @”alert(‘Message head:\n\n” + CompoundErrStr + ” message tail.’);”; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “Test”, script, true); 它现在工作正常。 但是,还有其他特殊字符需要像这样转义吗? 是否有可用于此目的的.Netfunction? 类似于HttpServerUtility.HtmlEncode的东西,但是用于JavaScript。 编辑我使用.Net 3.5

通用(即)Web用户控件的语法

假设我已经制作了如下网页控件: public class TestControl : WebControl { … } 有没有办法将该控件放在.aspx页面而不必通过代码执行? 我真的希望能够做到这样的事情: <controls:TestControl runat=”server” /> 但据我所知,我无法传递generics参数。 我已经尝试在网上搜索并发现这个http://forums.asp.net/t/1309629.aspx ,这看起来正是我所追求的,但似乎没有人能理解那个人想要的东西,并且我在StackOverflow上找不到类似的东西。

向Literal控件添加换行符

我有一些ASP.NET Literal控件的问题,因为它没有呈现标签。 码 string strTemp = task.Description.ToString(); lit_description.Text = strTemp.Replace(“\r\n”, “”); 输出: LG SERVICE TICKET – DATE IN (eg. Feb 11, 2011):- DATE OUT (eg. Feb 11, 2011):- Client Has Critical Data (fees will apply):- Windows Password: – Accessories:Client Complaint:

SQL Server 2008 FileStream与普通文件

我正在创建像youtube这样的应用来存储video,我需要一些建议。 我应该使用SQL Server FileStream来存储video文件,还是应该将它们存储在硬盘上的某个位置并将路径记录为SQL Server中的varchar(MAX)? 推荐哪个,为什么? 除了这两个之外,你还推荐别的吗? 请随时告诉我,但请告诉我为什么。 非常感谢。

用户会话ID作为Ajax调用中的参数

我已经创建了一个HttpHandler ,我将使用jquery-Ajax调用。 这个HttpHandler将访问数据库并检查与当前被烧毁的用户相关的内容 。 通过使用Session,使用名为user_id的属性将用户视为已登录。 Session[“user_id”] = userId; 我试图在HttpHandler中检索这个Session ,但这似乎不起作用。 所以我考虑将user_id作为参数发送。 var user_id = //Retrieved in some way… $.ajax({ url: ‘QuestionRate.ashx?id=user_id’, success: function (msg, status, xhr) { alert(msg); }, error: function () { alert(msg); } }); 但这看起来似乎是一个坏主意,任何阅读代码的人都可以使用他想要的id访问Handler。 那么在这种情况下我该怎么办? 我希望Handler获取user_id以进行数据库访问,但我想确保此user_id是已登录用户的实际ID。 无法访问处理程序中的会话?

FindControl和动态创建控件的麻烦

示例代码: var div = new HtmlGenericControl(“div”); div.Controls.Add(new Literal() { ID = “litSomeLit” }); var lit = (Literal)div.FindControl(“litSomeLit”); Assert.IsNotNull(lit); 此代码未通过断言,因为lit为null。 调试显示div.Controls肯定包含ID为“litSomeLit”的文字。 我的问题是“为什么?” 并且“有没有办法获得对特定ID的控制,而不是一次手动一个元素递归搜索div.Controls []?” 我这样做的原因是我的实际应用并不那么直接 – 我正在编写的一种方法在一些可能的配置中给出了一个带有几个子控件的复杂控制。 我需要访问几个层的特定控件(例如,ID为“txtSpecificControl”的控件可能位于StartingControl.Controls[0].Controls[2].Controls[1].Controls[3] )。 通常我可以做FindControl(“txtSpecificControl”) ,但是当控件刚刚动态创建时(例如上面的示例代码中),这似乎不起作用。

将DataTable分配给ViewState是一个好方法吗?

我从DataBase获取DataTable并分配给ViewState,如下所示:因为我不想每次都访问数据库。 DataTable dt = GetDataTable(); ViewState[“dtTable”] = dt; GetDataTable()是一种方法,它从DataBase中检索1000条记录。 这是最好的方式,哪一种是处理这种方法的最佳方式?