簡體   English   中英

無法將類添加到aspx.cs文件

[英]Cannot add class to aspx.cs file

我的網站項目中有2個文件Translator2.aspx和Translator2.aspx.cs。 我想將新類(Erwin:Translator2)添加到我的Translator2.aspx.cs文件中。 但是,這是這樣的錯誤:

嚴重性代碼說明項目文件行抑制狀態
錯誤“ translator2_aspx”不包含“ Switch”的定義,找不到擴展方法“ 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>

這是我的Translator2.aspx.cs代碼:

     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);
}

}

您知道為什么我不能添加Erwin:Translato2類嗎? 在添加課程之前,一切正常。 我錯過了什么?

Switch方法與為aspx頁面提供動力的類位於不同的類中。 如果要將switch用作某種實用程序方法,則應在一個完全獨立的文件(Erwin.cs)中創建一個新類(也許是Erwin ),並在其中包含一個公共的並且可能是靜態的switch方法。 我還注意到switch不會返回任何內容,因此不確定您要用它完成什么。

按鈕的OnClick處理程序應位於后面的代碼中-即Translator2類中。 在此處理程序內,您可以調用Erwin.Switch()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM