首先,我想说我没有.NET框架的经验。我有以下问题。从Javascript,我执行一个aspx页面的调用,后面有以下c#代码:
using System;
using Decoder;
namespace Decoder
{
public class PDF_Generator : System.Web.UI.Page
{
private string decodedPDF;
private string base64EncodedPDF;
Decoder.Decoder decoder = new Decoder();
protected void Page_Load(object sender, EventsArgs e)
{
try
{
this.base64EncodedPDF = Request.Params["encodedString"]; //get encoded string from js
this.decodedPDF = decoder.decodeFromBase64toString(this.base64EncodedPDF); //decode string
byte[] pdfByteStream = decoder.getBytesFromString(this.decodedPDF);
Response.Clear();
Response.ContentType = "application/pdf";
//Response.AddHeader("Content-Disposition", "attachment; filename=\"summary.pdf\"");
Response.AddHeader("Content-Length", pdfByteStream.Length.toString());
Response.BinaryWrite(pdfByteStream);
Response.End();
}
}
}
}
我想在PDF_Generator中使用我的类Decoder.cs,但是我收到以下错误:
CS0234:类或名称空间'Decoder'在类或中不存在 namespace'Decoder'(你缺少一个程序集引用吗?)
我的aspx文件是这样的:
<%@ Import Namespace="Decoder"%>
<%@ Page language="c#" src="Scipafi_PDF.aspx.cs" AutoEventWireup="true" Inherits="PDF_Generator" %>
提前感谢您的所有建议。
答案 0 :(得分:2)
您要导入解码器命名空间两次,一次在您的代码后面(using Decoder;
),一次导入您的aspx页面(<%@ Import Namespace="Decoder"%>
)。我想知道这可能是问题所在。尝试删除
<%@ Import Namespace="Decoder"%>
来自您的aspx页面。
答案 1 :(得分:0)
如果看起来你已经为.Net框架中的内容重新编写了代码。请参阅System.Convert.ToBase64String()
和System.Convert.FromBase64String()
答案 2 :(得分:0)
您应该从页面中删除
<%@ Import Namespace="Decoder"%>
并使Inherits =“Decoder.PDF_Generator”
<%@ Page language="c#" src="Scipafi_PDF.aspx.cs" AutoEventWireup="true" Inherits="Decoder.PDF_Generator" %>
你也不需要代码隐藏,可以删除
using Decoder;
但这实际上不应该引发错误
更新
看看@Ryios评论,他是对的