我正在从SQL Server数据库填充DropDownList,如下所示。 它工作正常,但我不知道这是一个好方法。 有人可以阐明这种方法,并提出一些改进? private void LoadSubjects() { ddlSubjects.Items.Clear(); string selectSQL = "SELECT SubjectID,SubjectName FROM Students.dbo.Subjects"; SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(selectSQL, con); SqlDataReader reader; try { ListItem newItem = new ListItem(); newItem.Text = "<Select Subject>"; newItem.Value = "0"; ddlSubjects.Items.Add(newItem); con.Open(); reader = cmd.ExecuteReader(); while (reader.Read()) { newItem = new ListItem(); […]
我怎样才能得到一个ASP.net的网页forms(V3.5)发布文件使用普通的旧<input type="file" /> ? 我对使用ASP.net FileUpload服务器控件不感兴趣。 感谢您的build议。
我有一个(ASP.NET 3.5)Intranet应用程序,它被devise为使用表单身份validation(以及默认的aspnet成员资格系统)。 我还在另一个表中存储了有关用户的附加信息,该表与aspnet_users表共享其主键。 对于属于我们域的用户,我将他们的域名存储在二级用户表中,我想自动login那些域名和存储在表中的名字相匹配的用户。 我已经阅读了可用的指南 – 它们都来自两年前或更久,并假设您可以在单独的login页面上激活Windows身份validation,以允许您提取域帐户名称。 从我所知道的情况来看,这在IIS7中是不可能的(整体身份validation方法应用于所有页面,无法select性地停用,并且两种身份validation方法都不能应用在同一页面上)。 有没有办法让IIS通过请求用户的Windows域帐户名称? 我不需要适当的ADauthentication,只需要域名。
我正在寻找一个.net模板引擎 – 一些简单,轻量,稳定,没有太多的依赖。 目前我所需要的是创build模板化纯文本和HTML电子邮件。 任何人都可以给我一个很好的build议? 如果它有帮助 – 就像Java的Freemarker或Velocity库一样。 [更新]感谢迄今为止的答案 – 非常感谢。 当你使用这些库的时候,我的build议和战争故事是真正的。 似乎是最好的方式做出决定,而不是每个轮stream尝试。
微软最近(12-29-2011)发布了一个更新来解决.NET Framework中的几个严重的安全漏洞。 MS11-100引入的修复之一暂时减轻了涉及散列表冲突的潜在DoS攻击。 看来这个修补程序会中断包含大量POST数据的页面。 在我们的例子中,在具有非常大的checkbox列表的页面上。 为什么会这样呢? 一些非官方消息来源似乎表明,MS11-100对回发项目的限制是500。 我无法find确认这一点的微软源代码。 我知道,视图状态和其他框架function吃了一些这个限制。 是否有任何configuration设置来控制这个新的限制? 我们可以切换使用checkbox,但它对我们的特定情况非常有效。 我们也想要应用这个补丁,因为它可以防止其他一些讨厌的东西。 讨论500限制的非官方来源: 该公告修复了DOS攻击vector,通过提供一个HTTP POST请求可以提交的variables数量的限制。 默认限制是500,对于正常的Web应用程序来说应该足够了,但是仍然足够低以抵消德国安全研究人员所描述的攻击。 编辑:源代码与限制(似乎是1,000,而不是500)的示例创build一个标准的MVC应用程序,并将下面的代码添加到主索引视图: @using (Html.BeginForm()) { <fieldset class="fields"> <p class="submit"> <input type="submit" value="Submit" /> </p> @for (var i = 0; i < 1000; i++) { <div> @Html.CheckBox("cb" + i.ToString(), true) </div> } </fieldset> } 此代码在补丁之前工作。 它以后不工作。 错误是: [InvalidOperationException:由于对象的当前状态,操作无效。] System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()+82 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte [] […]
我在ASP.NET中创build了一个网站,并创build了一个类,并把它放在App_Code文件夹中。 但是我不能从我的其他页面访问这个。 有什么需要configuration来允许这个? 我已经在以前的项目中工作,但不知道在这个项目中。 namespace CLIck10.App_Code { public static class Glob { … } }
我正在使用我正在构build的博客上的Facebook评论插件。 它有一些FBXML标签,由页面上引用的facebook javascript解释。 这一切工作正常,但我必须将当前,完全合格的URL传递给插件。 <div style="width: 900px; margin: auto;"> <div id="fb-root"></div> <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments> </div> 获取当前页面的URL的最佳方式是什么? 请求url。 解 这里是我的解决scheme的最终代码: <fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>
在最新版本的Asp.Net SignalR中,增加了一种使用接口“IUserIdProvider”向特定用户发送消息的新方法。 public interface IUserIdProvider { string GetUserId(IRequest request); } public class MyHub : Hub { public void Send(string userId, string message) { Clients.User(userId).send(message); } } 我的问题是:我如何知道我要向谁发送信息? 这个新方法的解释是很肤浅的。 和SignalR 2.0.0的草案声明,并且不会编译。 有没有人实现这个function? 更多信息: http : //www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections#IUserIdProvider 拥抱。
我正在使用.NET 4构build一个网站。有许多从2003年开始使用的MSDN文章,关于使用线程对象和2007年,使用.NET 2中的asynchronous页面 ,但这是非常陈旧的。 我知道.NET 4给我们带来了Task类 , 有些人对此有些模糊警告 。 所以我问你,在ASP.NET 4的IIS下运行后台/asynchronous工作大约在2011年的“首选”方法是什么? 关于直接使用线程/任务有什么警告? Async = true仍然stream行吗? 编辑:好的,好的,从答案很清楚的意见是,如果可以,我应该提供服务。 但是在webapp中做这件事情的好处是很重要的,特别是更容易的部署/重新部署。 假设这个过程是安全的,那么,如果我在IIS里面做,那么最好的办法是什么?
我正在一个简单的注册页面中,用户不能input相同的用户名或电子邮件,我做了一个代码,防止用户input用户名,它的工作,但是当我试图阻止用户input相同的用户名或电子邮件没有工作。 而我的问题是,“如何在用户不能input已存在的电子邮件的情况下添加另一个条件? 我试图在这个代码中做,但它没有工作: protected void Button_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection( ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString ); SqlCommand cmd1 = new SqlCommand("select 1 from Table where Name =@UserName", con); SqlCommand cmd2 = new SqlCommand("select 1 from Table where Email=@UserEmail", con); con.Open(); cmd1.Parameters.AddWithValue("@UserName", Name_id.Text); cmd2.Parameters.AddWithValue("@UserEmail", Email_id.Text); using (var dr1 = cmd1.ExecuteReader()) { if (dr1.HasRows) { Label1.Text […]