Tag: asp.net

aspx是否为c#静态变量提供特殊处理

在.net web应用程序中,有一些关于.aspx页面的特殊内容以及改变静态变量行为的页面后面的c#代码。 我有大量的应用程序页面是在别处开发的,并且有一个共同的模式运行通过它们我认为应该是一个实例变量被声明为一个静态变量。 更详细的问题陈述是:如果我有两个Web会话a和b在同一个应用程序池中的同一个iis服务器上运行,如果访问有问题的页面并将静态变量x设置为value1然后b访问相同的页面并将静态变量x设置为值2,我的理解是value1已被值2替换。我的困境是这个模式在代码中重复使用,在高级别代码似乎工作。 结论是它要么运气好(会话中的时间a在会话b击中它之前已经放弃了变量的需要),要么还有其他事情发生。 我愿意接受有关ac#nuance或开发人员错误的建议。

基于Http Header值的ASP.NET MVC5 / 6路由

假设我有一个最基本的控制器 public class HomeController : Controller { public ActionResult Index(string id, string language) { return View(); } } 其中包含2个参数。 但是,有一个要求是调用action方法的客户端应该从URL传递id值,而从http头传递language值。 这意味着url应该是/Home/Index/12345 ,同时调用客户端将设置一个Http Header值language : en 。 如何在MVC5或MVC6中设置路由以达到要求? 请不要提供Web Api的样本。 谢谢

将字符串转换为日期没有时间

这条线 System.DateTime.Parse(“09/12/2009”); 将日期(字符串)转换为9/12/2009 12:00:00 AM。 我怎样才能在9/12/2009的表格中找到日期。 经过解释我做了: DateTime dt = System.DateTime.Parse(Request.Form[“datepicker”]); dt.ToString(“dd/mm/yyyy”); /* and this code have time, why???*/

如何在我的一半请求上调试SessionStateModule / REQUEST_AQUIRE_STATE> 100秒?

这种情况在最近几天开始发生; 可能是因为我安装了Visual Studio 2012.它目前只在我的机器上发生(我的同事们都在VS 2010上),但我希望卸载VS 2012,看看是否有影响。 我的所有Web请求中约有50%在SessionStateModule / REQUEST_AQUIRE_STATE中挂起约100秒(然后页面成功完成)。 ANTS Profiler一直报告为“等待同步”,并在一些IIS线程回调中给出了堆栈跟踪(我们的代码都没有;遗憾的是我没有信息可用)。 我为所有请求启用了IIS失败请求跟踪,并重新加载了我们应用的同一页面10次。 请求3,5,7,9全部耗时> 100秒,其他请求耗时<5秒。 我们正在使用In Process会话,因此没有任何内容通过网络或被序列化。 据我所知,在发生这种情况之前,我们的代码都没有运行过。 如何获得有关调试问题的更多信息? 可能相关: 即使在调用abort之后,浏览器也会等待ajax调用完成(jQuery)

限制GridView列中的文本大小

我有一个asp:GridView声明如下: <asp:LinkButton ID="DeleteButton" CommandArgument='’ CommandName=”Remove” runat=”server”>Remove 我的问题是100%美学。 为长描述而发生的自动换行使表格看起来很俗气。 我想用长描述做的是当描述太长时有一个省略号(…) 长描述等等等等…… 我找不到内置的方法,所以我决定尝试实现GridView的这个OnRowDataBound 。 protected void Ds_my_projects_RowDataBound(object sender, GridViewRowEventArgs e) { DataRow curRow = ((DataRowView)e.Row.DataItem).Row; if (curRow[“Description”].ToString().Length > 200) curRow[“Description”] = curRow[“Description”].ToString().Substring(0, 200) + “…”; } 我在第一行上遇到运行时exception,因为Object引用未设置为对象的实例 。 我在这做错了什么? 有没有更简单的方法来完成我想要做的事情?

从asp.net中动态创建的文本框中获取文本

我整个上午一直在反对这个,所以希望我能得到一些帮助。 基本上我有问题从一些文本框控件获取值我在.net 4中动态创建。 这是应用程序的理想流程。 1)。 用户从下拉菜单中选择一个html文档,该菜单是一个字母的模板。 这个html文档包含格式$ VARIABLENAME $的标签,将用正确的值替换。 2)。 该程序通过模板运行并拉出$ STRING $格式的所有字符串并将它们存储在列表中。 3)。 对于此列表中的每个条目,程序生成一个asp:标签和一个asp:textbox,其中包含基于原始$ VARIABLENAME $字段的唯一ID。 4)。 用户输入替换值,然后点击提交。 5)。 程序用替换值替换所有$ STRING $并输出结果。 一切正常,直到我需要从文本框中获取值。 我很确定它是页面生命周期的一个问题,但是因为在使用从下拉列表中选择所需的模板之前不会生成文本框,所以我不确定如何通过回发使它们持久化以便我可以引用它们。 我错了吗? 在发生回拨事件后,如何访问从下拉事件创建的文本字段? 编辑:这是相关代码的大部分内容。 protected void createTextBoxes(List results) { if (results != null) { foreach (string result in results) { string formattedResult = result.Substring(1, result.Length – 2); formattedResult = formattedResult.ToLower(); formattedResult […]

我的ASP.NET网站中的aspnet_client文件夹是什么?

我inheritance了一个网站,并在Web根目录中看到该文件夹​​。 我正在试图清理旧垃圾,并想知道我是否可以删除它。 该文件夹使用的是什么? 它是自动生成的吗? 是缓存吗? 创造它的是什么?

如何阻止asp.net阻止对文件的访问,然后在构建时抛出访问被拒绝的错误?

我反复按照以下方式获取构建错误: 无法使以下项目运行:< 项目名称 >(。NETFramework,Version = v4.6.1)原因:访问路径’C:\ < 从根路径 > \ src \ < 项目名称 > \ bin \ Debug \ net641 \ win7-64x \ < some dll,exe,config,whatever >’被拒绝。 我从其他文件夹中得到了类似的错误,但是将它们从源代码控制中删除有帮助(见下文) 有时手动转到资源管理器中的文件夹>右键单击>属性>取消选中“只读”适用于成功构建但是VS或TFS再次锁定文件并返回相同的构建错误 特别是目前有两个.dll文件被添加到bin中,它们被重复设置为“只读”,我必须在重建时手动修复文件浏览器中的文件。 AFAIK这些不在源代码管理中,但是解决方案中同名的另一个项目中的文件已签入并且不会更改。 它可能与我正在使用的asp.net Core RC2这个事实有关,而且我还没有将它与Angular 2 RC1配对,但我不认为这是相关的。 一种理论认为它与TFS有关,因为在我将项目置于源代码控制之前,错误似乎没有开始。 我在Stack Overflow上看过很多类似的问题但是没有答案甚至开始解决我自己的重复问题。 提示:我对转换后的.ts> .js文件进行了相同的处理并将它们从源代码控制中取出似乎有所帮助,但我根本没有看到源代码控制中的bin文件夹(当然它隐藏在解决方案资源管理器中我看不到在源代码管理资源管理器中取消隐藏的选项,所以不确定它是否在那里……)

Repeater或DataList中的复选框OnClick / ItemCommand

当在转发器控件中单击CheckBox时,我需要在转发器中的一行上执行一些服务器端逻辑。 有谁知道如何去做? 我看到它的方式你不能解雇项目命令,如果你使用CheckBoxes OnClick你不能得到转发器行。

数据到多维数组

有没有一种简单的方法将Datatable转换为多维字符串数组? 也许使用LINQ ? 除了手动循环遍历所有列/行之外,还有一种更好的方法…