C# 无法将类添加到aspx.cs文件
我的网站项目中有两个文件,Translator2.aspx和Translator2.aspx.cs。我想将新类(Erwin:Translator2)添加到我的Translator2.aspx.cs文件中。然而,它是这样的错误: 严重性代码说明项目文件行抑制状态C# 无法将类添加到aspx.cs文件,c#,asp.net,C#,Asp.net,我的网站项目中有两个文件,Translator2.aspx和Translator2.aspx.cs。我想将新类(Erwin:Translator2)添加到我的Translator2.aspx.cs文件中。然而,它是这样的错误: 严重性代码说明项目文件行抑制状态 错误“translator2\u aspx”不包含“开关”的定义 并且没有接受类型为的第一个参数的扩展方法“Switch” 找不到“translator2_aspx”(是否缺少using指令 或组件参考? C:\Users\erwin.s
错误“translator2\u aspx”不包含“开关”的定义 并且没有接受类型为的第一个参数的扩展方法“Switch” 找不到“translator2_aspx”(是否缺少using指令 或组件参考?
C:\Users\erwin.surya\Documents\Visual Studio 2017\WebSites\WebSite1\Translator2.aspx 33 这是我的Translator2.aspx代码:
<%@ Page Language="C#" Async="true" AutoEventWireup="true" CodeFile="Translator2.aspx.cs" MasterPageFile="~/Site.Master" Inherits="Translator2" %>
<asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="English" CssClass="col-md-2 control-label">English</asp:Label>
<div class="col-md-10">
<asp:TextBox Height="79px" TextMode="MultiLine" Width="452px" runat="server" ID="English" CssClass="form-control" />
</div> </div>
<div class="col-md-offset-2 col-md-10">
<asp:Button runat="server" OnClick="Submit" Height="39px" Width="100px" Text="Translate" CssClass="btn btn-default" />
</div>
<div class="col-md-offset-2 col-md-10">
<asp:Button runat="server" OnClick="Switch" Height="39px" Width="100px" Text="Switch" CssClass="btn btn-default" />
</div>
<br /><br /><br />
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="Japanese" CssClass="col-md-2 control-label">Japanese</asp:Label>
<div class="col-md-10">
<asp:TextBox Height="79px" TextMode="MultiLine" Width="452px" runat="server" ID="Japanese" CssClass="form-control" />
</div></div>
<br /><br />
<asp:PlaceHolder runat="server" ID="ErrorMessage" Visible="false">
<p class="text-danger">
<asp:Literal runat="server" ID="FailureText" />
</p>
</asp:PlaceHolder>
</asp:Content>
你知道为什么我不能添加Erwin:Translato2类吗?在我添加类之前,一切正常。我错过了什么吗?与为您的aspx页面供电的类不同,
Switch
方法位于不同的类中。如果您希望switch成为某种实用方法,那么应该在一个完全独立的文件(Erwin.cs)中创建一个新类,可能是Erwin
,并在其中创建一个switch
方法,该方法是公共的,可能是静态的。我还注意到,switch
不会返回任何内容,因此不确定您想用它实现什么
按钮的
OnClick
处理程序应该在代码隐藏中,即Translator2
类中。在这个处理程序中,您可以调用Erwin.Switch()
该Switch
方法与为aspx页面供电的类位于不同的类中。如果您希望switch成为某种实用方法,那么应该在一个完全独立的文件(Erwin.cs)中创建一个新类,可能是Erwin
,并在其中创建一个switch
方法,该方法是公共的,可能是静态的。我还注意到,switch
不会返回任何内容,因此不确定您想用它实现什么
按钮的
OnClick
处理程序应该在代码隐藏中,即Translator2
类中。在这个处理程序中,您可以调用Erwin.Switch()
嗨,我不能将这个类添加到当前的aspx.cs文件吗?我想我们可以在一个aspx.cs文件中创建多个类?我想在类Erwin中使用from,to字符串,以便能够在类translator中使用它。您可以在这里创建这个类,但您应该询问原因。如果它仅用于此页面,请将其功能放在页面中。如果它被其他页面使用,将其放在单独的文档中是有意义的。您会发现每个类一个.cs文件是有意义的。您可以这样做,但必须将该类和属性公开。您好,Jonathan,它仅用于此页面(同一页面中的提交和切换按钮)。所以我需要公开类和属性?你有关于这件事的文件吗?我不知道怎么做。请让我知道,如果你有我可以参考的链接。我想我已经创建了Erwin:translator2类?嗨,我不能将这个类添加到当前的aspx.cs文件中吗?我想我们可以在一个aspx.cs文件中创建多个类?我想在类Erwin中使用from,to字符串,以便能够在类translator中使用它。您可以在这里创建这个类,但您应该询问原因。如果它仅用于此页面,请将其功能放在页面中。如果它被其他页面使用,将其放在单独的文档中是有意义的。您会发现每个类一个.cs文件是有意义的。您可以这样做,但必须将该类和属性公开。您好,Jonathan,它仅用于此页面(同一页面中的提交和切换按钮)。所以我需要公开类和属性?你有关于这件事的文件吗?我不知道怎么做。请让我知道,如果你有我可以参考的链接。我以为我已经创造了欧文:翻译2类?
partial class Translator2 : Page
{
public async void Submit(object sender, EventArgs e)
{
string key = "92fcf1387f844a8";
var authTokenSource = new AzureAuthToken(key.Trim());
string authToken;
try
{
authToken = await authTokenSource.GetAccessTokenAsync();
}
catch (HttpRequestException)
{
if (authTokenSource.RequestStatusCode == HttpStatusCode.Unauthorized)
{
Console.WriteLine("Request to token service is not authorized (401). Check that the Azure subscription key is valid.");
return;
}
if (authTokenSource.RequestStatusCode == HttpStatusCode.Forbidden)
{
Console.WriteLine("Request to token service is not authorized (403). For accounts in the free-tier, check that the account quota is not exceeded.");
return;
}
throw;
}
string output = "";
string text = English.Text;
string uri = "https://api.microsofttranslator.com/v2/Http.svc/Translate?text=" + HttpUtility.UrlEncode(text) + "&from=" + "en" + "&to=" + "ja";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
httpWebRequest.Headers.Add("Authorization", authToken);
using (WebResponse response = httpWebRequest.GetResponse())
using (Stream stream = response.GetResponseStream())
{
DataContractSerializer dcs = new DataContractSerializer(Type.GetType("System.String"));
string translation = (string)dcs.ReadObject(stream);
Console.WriteLine("Translation for source text '{0}' from {1} to {2} is", text, "en", "ja");
Console.WriteLine(translation);
output = translation;
}
Japanese.Text = output;
}
class Erwin : Translator2
{
string from, to;
public void SwapStrings(string s1, string s2)
{
string temp = s1;
s1 = s2;
s2 = temp;
from = s1;
to = s2;
testing.Text = from;
testing1.Text = to;
}
protected void Switch(object sender, EventArgs e)
{
string str1 = testing.Text;
string str2 = testing1.Text;
System.Console.WriteLine("Inside Main, before swapping: {0} {1}", str1, str2);
SwapStrings(str1, str2);
}
}