2016-04-11 31 views
0

私は2つのint変数m = 5とs = 2を作成し、datetimeオブジェクトを分mと秒をsに割り当てるプロジェクトを持っています。次に、それぞれを文字列var strに連結し、+と - と*の増分を実行して新しい値を取得します。これは実際にasp.netの私の最初のプロジェクトです。私は練習中に学んでいるC#言語を使用しています。私はこのラベルが現在の文脈に存在しないことをよく理解していません。私は私の学習教師の例を正確に辿った。このフォーラムでは、初心者の範囲と知識を超えたソリューションを見つけました。しかし、誰かが私を正しい方向に向けることができたら、私はそれを感謝します。私は昨日からサークルに行ってきました。前もって感謝します。ここにコードがあります。あなたのページでlabel1は現在のコンテキストには存在しません:asp.net C#

<%@ Page Language="C#" %> 
    <script runat="server"> 
    void Page_Load() 
    { 
    String str = ""; 
    int m, s; 
    m = 5; 
    s = 2; 
    label1.Text = str; 
m = 5; 
s = 2; 
str += "m+s" + (m+s) + "<br/>"; 
label2.Text = str; 
m = 5; 
s = 2; 
str += "m-s" + (m-s) + "<br/>"; 
label3.Text = str; 
m = 5; 
s = 2; 
str += "m*s" + (m*s) + "<br/>"; 
label4.Text = str; 
} 

</script> 
<!Doctype html> 
<html> 
<body> 
<%-- 
Heading 
Student: Schweidel Tyson; 
'File name: ex02.aspx 
--%> 
m = <%=DateTime.Now.Minute%><br> 
s = <%=DateTime.Now.Second%> 
    <asp:Label id="Label1" runat="server"/></asp:Label> 
m+s = <%=str%> 
<asp:Label id="Label2" runat="server"/></asp:Label> 
m-s = <%=str%> 
<asp:Label id="Label3" runat="server"/></asp:Label> 
m*s = <%=str%> 
<asp:Label id="Label4" runat="server"/></asp:Label> 
</body> 
</html> 
+0

このコードはコンパイルされますか? –

答えて

2

、あなたはLabel1idでラベルを作成しています。あなたのコードビハインドでは、それをlabel1としています(この場合の違いに注意してください)。

問題はLabel1 != label1です。これらが一致するように宣言またはコードを変更すると、このエラーは発生しなくなります。

は、追加の注意点として、あなたは本当にこのコードを読み取ることが困難である私の意見では、 labelTextのように、 minutessecondsなどをより良い変数名を使用して検討すべき、との良い名前でフォーマットされたコードは、トラブルシューティングする方がはるかに簡単です。

+0

ラベルの問題を修正しました。コメントありがとうございました。私はASP.NETに慣れていないので、「コードビハインド」とはどういう意味ですか?私は私の研究でこの言葉をたくさん見ます。 – swydell

+0

@swydellもしあなたが基本的な 'C#.net terms'に慣れていないなら、' CodeFile vs CodeBehind'がMSDNにあるものに関する多くの説明があります。 – MethodMan

+0

私はたくさんのGoogle検索をしています。もう一つ。今、私は '' str 'という名前が現在のコンテキストに存在しません。エラーは39行目でm + s = <%=str%>をコードしています。 String str = ""の複数の宣言を削除しました。 – swydell

0

現在のところ、制限されたxpに現在のコンテキストに存在しないということは、範囲の問題があることを意味します。単に、変数を参照している場所が変数を「参照」できないことを意味します。中括弧の中に何かがあると、外側から見えるものが見えないことを忘れないでください。

+0

私の下の人は正しいです。私はちょうどエラーをコードを読んでいない。私の謝罪 – Huuqwas

+0

「Scope」に対するあなたのコメントをありがとう。スコープに含まれていない変数にアクセスしたり参照したりするにはどうすればよいですか?またはそれらをアクセス可能にする方法は?保護されたプライベートのようなアクセス修飾子を使用する必要がありますか?私はそれが馬鹿に聞こえる場合、まだ学んでいます:)。 – swydell

+0

@swydell可変スコープに関する適切な説明については、http://www.blackwasp.co.uk/CSharpVariableScopes.aspxを参照してください。 – levelonehuman

関連する問題