Tag: asp.net

你为什么不能UnRegisterStartupScript?

对我来说,你可以做到有点奇怪.. Page.ClientScript.RegisterStartupScript(this.GetType(), “KeyName”, “alert(‘changed my mind’)”, true); 然后,您无法取消注册或停止以编程方式呈现javascript。 为什么微软会这样做? 我不喜欢这里的工作.. http://hemant-vikram.blogspot.com/2005/11/unregister-startup-script-workaround.html 而且我不喜欢只是重新注册它并让它什么都不做的选择。 思考?

Response.redirect不保留HttpContext.Current.Items

我正在学习HttpContext并发现了这一点 将为每个给ASP.Net应用程序的请求重新构造HttpContext对象 现在,考虑一个案例,当我有两页时。 WebForm1和Webform2。 在Form1中,我正在编写下面提到的代码并重定向到form2。 HttpContext.Current.Items.Add(“Key”, “Value”); 询问 当我使用Server.Transfer时,此密钥仍然存在,而使用Response.Redirect时并非如此 混乱 无论何时生成新请求,都会创建HttpCopntext对象。 此外,会话保持不变。 这是HttpContext的一部分。 HttpContext.Current.Session 如果Session可以持久化,为什么不能在Response.Redirect HttpContext.Current.Items ?

允许用户通过Response.WriteFile()从我的网站下载

我试图通过点击我的网站上的链接以编程方式下载文件(这是一个位于我的网络服务器上的.doc文件)。 这是我的代码: string File = Server.MapPath(@”filename.doc”); string FileName = “filename.doc”; if (System.IO.File.Exists(FileName)) { FileInfo fileInfo = new FileInfo(File); long Length = fileInfo.Length; Response.ContentType = “Application/msword”; Response.AddHeader(“Content-Disposition”, “attachment; filename=” + fileInfo.Name); Response.AddHeader(“Content-Length”, Length.ToString()); Response.WriteFile(fileInfo.FullName); } 这是一个buttonclick事件处理程序。 好的我可以对文件路径/文件名代码做一些事情来使它更整洁,但是当点击按钮时,页面会刷新。 在localhost上,此代码工作正常,并允许我下载文件确定。 我究竟做错了什么? 谢谢

从自定义AdditionalMetadataAttribute访问模型类实例(asp.net mvc 5)

我有以下情况 – 我需要编写一个自定义的附加元数据属性,该属性基于另一个属性值(来自同一模型),向AdditionalValues字典添加一个值。 现在,我的问题是我无法访问属性类中的模型实例。 [AttributeUsage(AttributeTargets.Property)] public class ExtendedAdditionalMetadataAttribute : Attribute, IMetadataAware { #region Private properties private string extraFieldToCheck { get; set; } private string extraFieldValueToCheck { get; set; } private string fieldToBeAdded { get; set; } private string fieldValueToBeAdded { get; set; } #endregion #region Constructor public ExtendedAdditionalMetadataAttribute(string extraFieldToCheck, string extraFieldValueToCheck, string fieldToBeAdded, string fieldValueToBeAdded) […]

如何在asp.net表中动态添加行?

如何从服务器端添加表中的行? if (!Page.IsPostBack) { Session[“table”] = TableId; } else { TableId = (Table)Session[“table”]; } protected void btnAddinRow_Click(object sender, EventArgs e) { num_row = (TableId.Rows).Count; TableRow r = new TableRow(); TableCell c1 = new TableCell(); TableCell c2 = new TableCell(); TextBox t = new TextBox(); t.ID = “textID” + num_row; t.EnableViewState = true; r.ID = “newRow” […]

简单的BackgroundWorker不会更新网页上的标签

我在这个有用的post中使用了一段简单的代码 它使用一个按钮和一个标签,标签应报告“10%完成”……“20%完成”……等等。 当我调试时,代码被点击,但我的标签没有在浏览器上更新。 我尝试使用和不使用更新面板,有和没有母版页。 protected void btnStartThread_Click(object sender, EventArgs e) { BackgroundWorker bw = new BackgroundWorker(); // this allows our worker to report progress during work bw.WorkerReportsProgress = true; // what to do in the background thread bw.DoWork += new DoWorkEventHandler(delegate(object o, DoWorkEventArgs args) { BackgroundWorker b = o as BackgroundWorker; // do some simple […]

Asp:带链接的图像

我想在我的应用程序中放置一个图像。 当我点击它时,我想转移到另一个页面。 一般来说我的asp:image作为链接工作可能吗?

获取Enum值以显示在Dropdownlist Asp.Net MVC上

我有这样的枚举: public enum PaymentType { Self=1, Insurer=2, PrivateCompany=3 } 我在控制器中将它显示为像这样的选择框选项: List paymentTypeList = Enum.GetValues(typeof (Patient.PaymentType)).Cast().ToList(); ViewBag.PaymentType = new SelectList(paymentTypeList); 在这里我可以看到只有枚举的字符串部分(例如“Self”)才会到达前端,所以我不会在我的下拉列表中获得枚举的值(例如“1”)。 如何将文本以及枚举值传递给选择列表?

无法在Entity Framework中创建“System.Object”类型的常量值

我有一个名为UserTenders的表与aspnet_Membership表有aspnet_Membership关系。 我正在使用EntityFramework 4.0,当我尝试这样的东西时,它会出错。 var tenders = ctx.UserTenders .Where(tender => tender.HasAdminApproved.Equals(true)) .ToList(); 错误是 System.NotSupportedException 无法创建“System.Object”类型的常量值。 在此上下文中仅支持基本类型(例如Int32,String和Guid’)。 下面的代码片段有效。 var tenders = ctx.UserTenders.ToList(); 我的代码可能有什么问题? 觉得我错过了一些非常微不足道的事情。 我想过滤所有bit字段HasAdminApproved为true

允许用户传递表名和列名,同时防止SQL注入

我有一个(Intranet)网页(ASP.NET C#),它允许用户在SQL-Server中的特定数据库上创建一个表,表名和列名是自由文本字段,实际结构由几个确定下拉菜单。 我知道传递create table语句是因为纯文本字符串与我的文本框中的文本连接在一起容易受到SQL注入的影响。 鉴于我传递的是不存在的db对象的实际名称而不是参数,除了在连接字符串之前检查每个文本框是否包含非法字符之外,还有什么方法可以防止注入的可能性?