Tag: asp.net

jQuery使用AJAX调用传递文件

如果我有一个返回CSV的AJAX调用,如何让浏览器提示用户下载? 下面,ProductsExport将在成功数据中返回CSV。 我只需要用@替换//将文件传递给用户行… $.ajax({ type: “POST”, url: “/Search/ProductsExport”, data: $(‘#CustomerId’).serialize(), success: function (data) { // Deliver file to user!! }, error: function (xhr, textstatus, errorThrown) { alert(‘Error’); } }) 我后面的C#代码如下所示: var aFileContent = Encoding.ASCII.GetBytes(export); var aMemoryStream = new MemoryStream(aFileContent); return File(aMemoryStream, “text/plain”, string.Format(“{0}.csv”, CustomerId));

通用处理程序参数大小限制?

我有一些JavaScript代码生成一个非常长的脚本,然后将其发送回服务器,以创建一个csv的通用处理程序。 我发送数据的JavaScript代码是: function postwith(to, p) { var myForm = document.createElement(“form”); myForm.method = “post”; myForm.action = to; for (var k in p) { var myInput = document.createElement(“input”); myInput.setAttribute(“name”, k); myInput.setAttribute(“value”, p[k]); console.log(k+”:”+p[k]); myForm.appendChild(myInput); } document.body.appendChild(myForm); myForm.submit(); document.body.removeChild(myForm); } 在我的控制台中,我可以看到整个字符串被添加到表单中(“console.log(k +’:’+ p [k]);”所以客户端似乎工作正常。 在我检查请求/响应的网络视图中,我可以看到“内容”(表单数据属性的名称)不完整 – 它在中间被剪切。 服务器端非常简单 – 将内容作为csv发回: public class Excel : IHttpHandler { public void […]

在Forms身份validation中获取当前的MembershipUser

我想从我的页面获取当前的MembershipUser 。 Membership.GetUser(); 返回null。 不能用 HttpContext.Current.User.Identity.Name 因为它根据我的配置返回我的配置文件名称以获取用户名。 我如何获得当前用户? 更新:成员资格提供程序是SqlMembershipProvider

如何在C#/ ASP中的单例中使用作用域依赖项

我是来自Java世界的C#/ ASP的新手。 我读过这篇文章: https : //docs.asp.net/en/latest/fundamentals/dependency-injection.html#service-lifetimes-and-registration-options ,明智地警告注入依赖关系的危险性范围较小。 不幸的是,它没有解释如何在C#/ ASP中解决这个问题。 在Java中有一个Provider的概念 interface Provider { T get(); } 其中有助于解决范围问题:只要某个类型T的绑定是注册,我们就可以注入一个自动生成的Provider 实例而不是T,然后在需要时获取T的实例:a自动生成的Provider确保我们获得适合当前作用域的实例(无论此作用域是什么:HTTP请求,HTTP会话或其他自定义作用域)。 ASP.NET核心内置的标准DI框架没有这样的东西,但我认为在C#中应该很容易实现,因为C#generics不像java那样糟糕( https://docs.oracle.com/ javase / tutorial / java / generics / erasure.html )。 所以我创建了以下类: public class Provider: IProvider { private readonly IServiceProvider serviceProvider; public Provider(IServiceProvider serviceProvider) { this.serviceProvider = serviceProvider; } public T IProvider.Get() { return serviceProvider.GetService(); } […]

字符串未被识别为有效的DateTime?

我尝试将字符串转换为datetime时间,但每次我得到: 字符串未被识别为有效的DateTime。 代码是: string format = “dd/MM/yyyy”; obj.TransDate = DateTime.ParseExact(lbl_TransDate.Text.Split(‘/’)[0] + “/” + lbl_TransDate.Text.Split(‘/’)[1] + “/” + lbl_TransDate.Text.Split(‘/’)[2], format, CultureInfo.InvariantCulture); 当我调试我尝试解析它的日期是: 12/4/2012

生成通用“服务不可用”消息的ELMAHexception

我正在尝试创建一个可用性页面,它检查站点使用的所有服务,将每个检查包装在try / catch中,然后向用户显示任何失败。 其中一项服务是ELMAH,所以我打电话来仔细检查我们是否可以成功记录错误。 控制器: var a = new AvailabilityModel(); try { a.ElmahConnectionString = ConfigurationManager.ConnectionStrings[“elmah-sqlserver”].ConnectionString; Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(“Elmah availability test”)); a.ElmahSuccess = true; } catch (Exception ex) { a.ElmahSuccess = false; a.ElmahException = ex; Response.StatusCode = 503; } return View(a); 当ELMAH成功时,一切都很顺利。 当它抛出任何类型的错误(数据库权限等)时,我得到一个错误,这个错误不是由try / catch或任何正常的错误捕获部分捕获的:ASP.NET MVC HandleError , customErrors重定向,甚至system.webServer httpErrors 。 显示器不是正常的IIS通用消息,而是我看到一行说“服务不可用”。 响应: LTSB-W34511 C:\s\d\build % curl […]

该查询包含对在不同数据上下文中定义的项的引用

我在Stackoverflow中阅读了另外几篇文章但我的问题很简单且不同。 我有2个独立的数据库,这就是为什么我有两个单独的Datacontext。 这是我的查询,我传递参数并将其绑定到我的GridView: if (Session[“EntitySelected”] == null) { MessageBox.Show(“Please Select an Entity first!”); Response.Redirect(“~/FrontEnd/List.aspx”); } int getEntity = Int16.Parse(Session[“EntitySelected”].ToString()); this.Label3.Text = “You Selected Entity: ” + (string)Session[“EntitySelected”]; dbWebEnrollDataContext dt1 = new dbWebEnrollDataContext(); CommissionsV2DataContext cv1 = new CommissionsV2DataContext(); var td = from s in cv1.Entity_Product_Points join r in dt1.PlanMasters on s.Product_ID equals r.Product_ID where s.Entity_ID == […]

ASP.NET引号字符编码在设置控件的属性时会导致问题

我有一个ASP.NET Web应用程序,在某些时候我这样做: mycontrol.stringparameterforjscript = “document.getElementById(‘” + myotherparam + “‘).value = ‘Hello'”; 问题是这件事不起作用。 正如您所看到的,这在某些标签的某些事件中设置了javascript。 当页面被重新编译时,问题是我的参数看起来像这样: 我必须确切地说,我正在尝试设置的这个文本框位于ListView的InsertItemTemplate中,并且初始化并不容易。 出于这个原因,我插入了我在文本框的load事件处理程序中看到的初始化代码。 我可以说一件事:如果这段代码引用了一个位于页面中的文本框,我从页面的load事件处理程序中调用了这段代码,这样就可以了。 但我不知道在这种特殊情况下该怎么做。 我也在考虑创建一个webcantrol来处理这个问题的可能性。 我真的不知道在这种情况下最好的做法是什么。

在下载的DLL中显示错误

我正在使用谷歌api版本3集成google Install-Package Google.Apis.Calendar.v3 ,使用NuGet包Install-Package Google.Apis.Calendar.v3并引用此链接 。 运行Web应用程序时出现错误: System.IO.FileLoadException **:无法加载文件或程序集’ System.Net.Http.Primitives , Version = 2.2.22.0 ,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 ( 来自HRESULT的exception:0x80131040 )—> System.IO.FileLoadException :无法加载文件或程序集’System.Net.Http.Primitives,Version = 1.5.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其中一个依赖。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 我正在使用的Web配置文件是: 包配置如下: bith类似于参考链接中的内容 更新: —内部exception堆栈跟踪结束— Microsoft.Runtime.CompilerServices.TaskAwaiter.HhleForNonSuccess(任务任务),位于Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd的Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(任务任务) (任务任务)在Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable 1.ConfiguredTaskAwaiter.GetResult() at Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.d__1.MoveNext() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\test\default\Src\GoogleApis.Auth.DotNet4\OAuth2\GoogleWebAuthorizationBroker.cs:line 59 — End of inner exception stack trace — at […]

使用validation器在Asp.netfunction中是否存在任何电子邮件?

我的要求是,如果用户在asp.net文本框中输入电子邮件,它应该从数据库validation,这个电子邮件是否存在,并且应该停止提交表单,是否有任何内置function或我必须自己制作? 谢谢Atif