小编meJ*_*rew的帖子

Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器收到的消息

我在我的页面上有一个网格视图,我想将它导出到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:无法解析从服务器收到的消息."

c# asp.net

57
推荐指数
6
解决办法
11万
查看次数

"表达式评估程序中的内部错误"

我在visual studio 2015的表达式求值程序中遇到了一个问题,即"表达式求值程序中的内部错误",经过一些调查我发现这是由使用反射加载的程序集引起的.此程序集不会抛出任何异常,但在此之后,vs exp计算器将失败.这不是我加载的唯一程序集,有一些好的工作程序不会影响评估程序.

要解决此问题,我必须选中"菜单>选项>调试>使用托管兼容模式",但这会禁用"编辑并继续"功能,我该怎么办?

高压组件的属性:

  • 它的名字与主程序集相同(我更改了名称但没有发生任何事情)
  • 我的所有项目都使用dotNet 4.5
  • 所有根名称空间都相同(所有程序集都是这样)

谢谢!

c# debugging visual-studio-2015

55
推荐指数
3
解决办法
3万
查看次数

VS2005:程序集"<assembly>"被错误地指定为文件.

我在我的项目中添加了对log4net程序集dll的引用.

当我建立时,我得到一个警告说:

警告程序集"Lib\log4net.dll"被错误地指定为文件.

在MSDN上查找了这个错误帮助,它说:

当构建过程检测到文件引用实际上是(托管或本机)程序集时,在应用程序清单生成期间会生成此警告.

这正是我正在做的事情; 文件引用一个程序集.我在这里被告知了什么?

如何在不添加对程序集dll的引用的情况下添加对程序集dll的引用?

log4net assemblies visual-studio-2005 build visual-studio

52
推荐指数
2
解决办法
2万
查看次数

如何从C#中的Web Api方法正确获取字节数组?

我有以下控制器方法:

[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字节)并且这些值也被放大了.

有点打击我的头,任何帮助将不胜感激.

谢谢!

c# asp.net-web-api

34
推荐指数
5
解决办法
7万
查看次数

列表基于另一个列表排序

我有两个通用的列表对象,其中一个包含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)

c# linq sorting

27
推荐指数
3
解决办法
2万
查看次数

编辑没有Crystal Report软件的Crystal报表文件

我需要修改3个rpt文件中的静态文本(几个单词).但我没有Crystal Reports.我该怎么做?

是否有免费的编辑器或软件可以修改报告的简单文本?

crystal-reports

21
推荐指数
3
解决办法
17万
查看次数

ASP.NET会话大小限制

是否存在某种会话大小限制或不可超过的值?

在我的Web应用程序中,我创建了一些DataTable来存储用户选择,这些选择存储在会话中,直到用户批准选择,因此我将这些值添加到数据库中.

问题是我不知道会话是否足够可靠以保留少量对象?

谢谢!

更多信息

会话大小最大约为10-20KB.

c# asp.net

20
推荐指数
2
解决办法
4万
查看次数

为什么在Hashset或其他集合中使用继承对象时,Equals(object)会胜过Equals(T)?

我知道我总是必须覆盖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)

c# inheritance iequatable

20
推荐指数
1
解决办法
898
查看次数

为什么int i = 10;i / 0; 编译,但5/0给出CS0020-除以常数零?

考虑以下代码段:

int i = 5 / 0;
Run Code Online (Sandbox Code Playgroud)

这给出了编译器错误CS0020:除以常数0,这很好。但是,下一个代码段:

int i = 10;
i = i / 0;
Run Code Online (Sandbox Code Playgroud)

编译就好了。

有人知道为什么吗?我看不出为什么编译器允许将整数变量除以零整数常量。

c#

17
推荐指数
2
解决办法
772
查看次数

在fileStream.CopyTo(memoryStream)之后,memoryStream为null

所以,我有这个功能,BitmapImage我需要将它保存到iso存储并转换为Base64(用于发送到服务器).然而,从复制fileStreammemoryStream没有成功.

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# windows-phone-7

15
推荐指数
1
解决办法
1万
查看次数