我在我的页面上有一个网格视图,我想将它导出到Excel工作表,下面是我编写的代码来执行此任务,这里我已经将数据集传递给绑定网格的方法,并且btnExcelExport是按钮将网格内容导出到Excel工作表: -
private void BindGridView(DataSet ds)
{
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
GVUserReport.DataSource = ds;
GVUserReport.DataBind();
btnExcelExport.Visible = true;
}
}
}
protected void btnExcelExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GVUserReport.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
return;
}
Run Code Online (Sandbox Code Playgroud)
现在,当我调试时,我发现网格已成功绑定,但在尝试将其导出到Excel时,我收到此错误:
"Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息."
我在visual studio 2015的表达式求值程序中遇到了一个问题,即"表达式求值程序中的内部错误",经过一些调查我发现这是由使用反射加载的程序集引起的.此程序集不会抛出任何异常,但在此之后,vs exp计算器将失败.这不是我加载的唯一程序集,有一些好的工作程序不会影响评估程序.
要解决此问题,我必须选中"菜单>选项>调试>使用托管兼容模式",但这会禁用"编辑并继续"功能,我该怎么办?
高压组件的属性:
谢谢!
我在我的项目中添加了对log4net程序集dll的引用.
当我建立时,我得到一个警告说:
警告程序集"Lib\log4net.dll"被错误地指定为文件.
当构建过程检测到文件引用实际上是(托管或本机)程序集时,在应用程序清单生成期间会生成此警告.
这正是我正在做的事情; 文件引用是一个程序集.我在这里被告知了什么?
如何在不添加对程序集dll的引用的情况下添加对程序集dll的引用?
我有以下控制器方法:
[HttpPost]
[Route("SomeRoute")]
public byte[] MyMethod([FromBody] string ID)
{
byte[] mybytearray = db.getmybytearray(ID);//working fine,returning proper result.
return mybytearray;
}
Run Code Online (Sandbox Code Playgroud)
现在在调用方法(这也是另一个WebApi方法!)我写的像这样:
private HttpClient client = new HttpClient ();
private HttpResponseMessage response = new HttpResponseMessage ();
byte[] mybytearray = null;
response = client.GetAsync(string.Format("api/ABC/MyMethod/{0}", ID)).Result;
if (response.IsSuccessStatusCode)
{
mybytearray = response.Content.ReadAsByteArrayAsync().Result;//Here is the problem
}
Run Code Online (Sandbox Code Playgroud)
现在,问题是字节数组MyMethod发送的是528字节,但是在这之后ReadAsByteArrayAsync,大小变得更大(706字节)并且这些值也被放大了.
有点打击我的头,任何帮助将不胜感激.
谢谢!
我有两个通用的列表对象,其中一个包含id和排序,另一个是一堆id,第二个列表中的每个id都有一个id引用第一个列表,例如;
public class OptionType
{
public int ID { get; set; }
public int Ordering { get; set; }
}
public class Option
{
public int ID { get; set; }
public int Type_ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
显然,我可以通过这样做对OptionTypes列表进行简单的排序
types_list.OrderBy(x => x.Ordering);
Run Code Online (Sandbox Code Playgroud)
问题是,我怎么能通过利用对象上的'Type_ID'来排序'options_list',这与types_list的排序有关.就像在某种类似的东西(显然这是无效的 - 但希望你会得到这个想法!)
options_list.OrderBy(x => x.Type_ID == types_list.OrderBy(e => e.Ordering));
Run Code Online (Sandbox Code Playgroud) 我需要修改3个rpt文件中的静态文本(几个单词).但我没有Crystal Reports.我该怎么做?
是否有免费的编辑器或软件可以修改报告的简单文本?
是否存在某种会话大小限制或不可超过的值?
在我的Web应用程序中,我创建了一些DataTable来存储用户选择,这些选择存储在会话中,直到用户批准选择,因此我将这些值添加到数据库中.
问题是我不知道会话是否足够可靠以保留少量对象?
谢谢!
更多信息
会话大小最大约为10-20KB.
我知道我总是必须覆盖Equals(object)和GetHashCode()实施时IEquatable<T>.Equals(T).
但是,我不明白,为什么在某些情况下Equals(object)胜过通用Equals(T).
例如,为什么会发生以下情况?如果我声明IEquatable<T>一个接口并X为它实现一个具体的类型,那么在将这些类型的项目相互比较时,将Equals(object)调用general Hashset<X>.在其中至少一个边被强制转换为接口的所有其他情况下,Equals(T)调用正确的.
这是一个代码示例来演示:
public interface IPerson : IEquatable<IPerson> { }
//Simple example implementation of Equals (returns always true)
class Person : IPerson
{
public bool Equals(IPerson other)
{
return true;
}
public override bool Equals(object obj)
{
return true;
}
public override int GetHashCode()
{
return 0;
}
}
private static void doEqualityCompares()
{
var t1 = new Person(); …Run Code Online (Sandbox Code Playgroud) 考虑以下代码段:
int i = 5 / 0;
Run Code Online (Sandbox Code Playgroud)
这给出了编译器错误CS0020:除以常数0,这很好。但是,下一个代码段:
int i = 10;
i = i / 0;
Run Code Online (Sandbox Code Playgroud)
编译就好了。
有人知道为什么吗?我看不出为什么编译器允许将整数变量除以零整数常量。
所以,我有这个功能,BitmapImage我需要将它保存到iso存储并转换为Base64(用于发送到服务器).然而,从复制fileStream到memoryStream没有成功.
public void SetImage(BitmapImage bitmap)
{
if (isoFiles.FileExists(Settings.FILE_AVATAR_JPG))
isoFiles.DeleteFile(Settings.FILE_AVATAR_JPG);
var fileStream = isoFiles.CreateFile(Settings.FILE_AVATAR_JPG);
var wb = new WriteableBitmap(bitmap);
wb.SaveJpeg(fileStream, 120, 120, 0, 85); // file is saved
var memoryStream = new MemoryStream();
fileStream.CopyTo(memoryStream); // here, memoryStream is null
byte[] result = memoryStream.ToArray();
fileStream.Close();
var base64 = Convert.ToBase64String(result);
}
Run Code Online (Sandbox Code Playgroud) c# ×8
asp.net ×2
assemblies ×1
build ×1
debugging ×1
iequatable ×1
inheritance ×1
linq ×1
log4net ×1
sorting ×1