C#初心者で困っています

OS XP
VS2008 ASP.NET C#
で作業しています

複数のTextboxを作成して、そのTextboxのTextプロパティに値を書き込もうとしています。
for(int z=1; z<100; z++)
{
string tt = z.ToString();
Control tx = FindControl("TextBox" + tt);
tx.text = "ccccccc";
}

txのtextプロパティが出てきません。
どのようにすれば、textプロパティを書き換えることができるのでしょうか、ご教授をお願いします。

A 回答 (2件)

こんな感じでどうでしょう。


TextBoxAという名前のTextBoxにある文字列を、TextBoxBという名前のTextBoxに挿入しています。

TextBox ta = (TextBox)FindControl("TextBoxA");
TextBox tb = (TextBox)FindControl("TextBoxB");
tb.Text = ta.Text;

参考にしてみてください。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます
ご教授の方法で解決できました。

TextBox ta = (TextBox)FindControl("TextBox1");
ta.Text = "TEST";

お礼が遅くなり申し訳ありませんでした

お礼日時:2010/03/24 09:52

試してないので適当な回答になりますが、tx を TextBox にキャストしてみるとか.

この回答への補足

回答、ありがとうございます

しかし、txもFindControlもキャストしてみましたが、同じでした

よろしくお願いいたします

補足日時:2010/03/22 21:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC#経過時間の求め方

C#経過時間の求め方

お世話になっております。
初歩的な質問かもしれないので申し訳ないのですが、
やり方がわからなかったため質問させていただきます。

現在日時から定義の時間を引いた経過時間を求めたいのですが、やり方がわかりません。

現在、以下のようにやっているのですが、
データ型の規定を外れてしまうためエラーになってしまいます。

---------------------------------------------
string date = "2010/09/25";
string time = "13:00:00";

string[] b = {};
string[] c = {};
DataTime a;

b = date.Split('/');
c = time.Split(':');
a = DateTime.Now.AddYears(-int.Parse(b[0]));
a = DateTime.Now.AddMonths(-int.Parse(b[1]));
a = DateTime.Now.Add(new TimeSpan(-int.Parse(b[2]), -int.Parse(c[0]), -int.Parse(c[1]), -int.Parse(c[2])));
---------------------------------------------

経過時間を求めたいので、
○時間○分だけでも表示できるようにしておきたいです。

何か適切な方法はありませんでしょうか?
ご回答頂ければありがたく思います。

宜しくお願い致します。

C#経過時間の求め方

お世話になっております。
初歩的な質問かもしれないので申し訳ないのですが、
やり方がわからなかったため質問させていただきます。

現在日時から定義の時間を引いた経過時間を求めたいのですが、やり方がわかりません。

現在、以下のようにやっているのですが、
データ型の規定を外れてしまうためエラーになってしまいます。

---------------------------------------------
string date = "2010/09/25";
string time = "13:00:00";

string[] b = {};
string[] c = {};
DataTime a;...続きを読む

Aベストアンサー

まず,できることなら日付と時刻をSystem.StringではなくSystem.DateTimeで持たせてください。
それができないならば,計算前にSystem.DateTime型に変換してしまってください。

MSDN: DateTime.ParseExact メソッド (System)
http://msdn.microsoft.com/ja-jp/library/system.datetime.parseexact.aspx
MSDN: DateTime.TryParseExact メソッド (System)
http://msdn.microsoft.com/ja-jp/library/system.datetime.tryparseexact.aspx
MSDN: DateTime.Subtraction 演算子 (DateTime, DateTime) (System)
http://msdn.microsoft.com/ja-jp/library/1905yhe2.aspx

example)
var target = DateTime.ParseExact(date + " " + time, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture);
var result = DateTime.Now - target;
Console.WriteLine("{0}時間{1}分", (int)result.TotalHours, result.Minutes);

まず,できることなら日付と時刻をSystem.StringではなくSystem.DateTimeで持たせてください。
それができないならば,計算前にSystem.DateTime型に変換してしまってください。

MSDN: DateTime.ParseExact メソッド (System)
http://msdn.microsoft.com/ja-jp/library/system.datetime.parseexact.aspx
MSDN: DateTime.TryParseExact メソッド (System)
http://msdn.microsoft.com/ja-jp/library/system.datetime.tryparseexact.aspx
MSDN: DateTime.Subtraction 演算子 (DateTime, DateTime) (System)
http://ms...続きを読む

QC#でインターフェースのプロパティのアクセス修飾子

お世話になります。
C#でインターフェースに定義した抽象プロパティで、アクセシビリティまで設定したいです。
例として抽象プロパティHelloのgetをpublic、setをinternalに設定したい場合、次の様に書くと怒られます。
string Hello { get; internal set; } ←"アクセシビリティ修飾子をインターフェイスのアクセサーで使用することはできません。"
抽象プロパティにsetを定義せず、サブクラスでinternalを設定して実装する分には怒られませんが、
この場合はサブクラスに対してsetの実装を強制できませんし、
当然API(インターフェース)型変数からsetの実装を呼び出せません。

全てのクラスはAPIからのみ利用させたいと考えていて、
かつプロパティのset、getで設定したいアクセス修飾子が異なる様な場合、
プロパティを使用せず自前でアクセッサを作るしか無いのでしょうか?
何かおいしい逃げ方がありましたらご教示いただけるとありがたいです。
宜しくお願いします。

Aベストアンサー

「インターフェイス」に定義するものは公開するもの、つまりアクセシビリティは常にpublicですからこれはどーしよーもありません。

代替案としては、インターフェイスではなく抽象クラスに定義して、その抽象プロパティのモディファイア(set)にうっかり飛んできたら例外でも飛ばすようにしておくなんてのはどうでしょうか。

QC#でのデータ転送時間

C#で、System.Net.Sockets.TcpListenerとSystem.Net.Sockets.TcpClientを使用し、転送時間の計測をしているのですが、データ量を変更(byte数:60000、90000、120000、150000)しても転送時間が殆ど変わりません。
こういうものなのでしょうか?
どなたかご存知でしたら、教えてください。

Aベストアンサー

C#はあまり詳しくないんですが最適化のために.NETが自前でプールしているんじゃないでしょうか。

Q半角カナだけが入力できるは可能?

半角カナだけ入力できるテキストボックスは
作成可能でしょうか?

Vbscript だけを使って実現したいと思います。

Aベストアンサー

ちょっと面倒なやり方ですが、以下の様なものはいかがでしょう?
テキストボックスのonblurイベント時にVBScriptでチェックしています。

----サンプル-----
<html>
<head>
<title>半角カナチェック</title>
<script language="vbscript">
Function KanaCheck(strTarget)
Dim obj, i, strChar, intAscBuff
For Each obj in frm1
If InStr(obj.name, strTarget) > 0 then
For i = 1 To Len(obj.value)
strChar = Mid(obj.value, i, 1)
intAscBuff = Asc(strChar)
If intAscBuff < Asc("ア") Or intAscBuff > Asc("ン") Then
If Not (intAscBuff = Asc("゛") Or _
intAscBuff = Asc("゜") Or _
intAscBuff = Asc(" ") Or _
intAscBuff = Asc("(") Or _
intAscBuff = Asc(")") Or _
intAscBuff = Asc("-") Or _
intAscBuff = Asc(",") Or _
intAscBuff = Asc(".") Or _
intAscBuff = Asc("\") Or _
intAscBuff = Asc("/") Or _
intAscBuff = Asc("「") Or _
intAscBuff = Asc("」")) Then
If intAscBuff < Asc("A") Or _
intAscBuff > Asc("Z") Or _
intAscBuff < Asc("0") Or _
intAscBuff > Asc("9") Then
KanaCheck = False
msgbox obj.name & "は半角カナ文字のみの入力となります。"
Exit Function
End If
End If
End If
Next
End If
Next
KanaCheck = True
End Function
</script>
</head>
<body>
<form name="frm1" method="post">
<input type="text" name="txt1" onblur="KanaCheck('txt1')">
<input type="text" name="txt2" onblur="KanaCheck('txt2')">
<input type="text" name="txt3" onblur="KanaCheck('txt3')">
</form>
</body>
</html>

ちょっと面倒なやり方ですが、以下の様なものはいかがでしょう?
テキストボックスのonblurイベント時にVBScriptでチェックしています。

----サンプル-----
<html>
<head>
<title>半角カナチェック</title>
<script language="vbscript">
Function KanaCheck(strTarget)
Dim obj, i, strChar, intAscBuff
For Each obj in frm1
If InStr(obj.name, strTarget) > 0 then
For i = 1 To Len(obj.value)
strChar = Mid(obj.value, i, 1)
intAscBuff = Asc(strChar)
If intAscBuff < Asc("ア") Or intA...続きを読む

QC# で一定時間待機するのにCPUを消費しない方法

C# で一定時間待機するのにSleepメソッドを使用しますが、
Sleepメソッド使用中はCPUを大量に消費します。

CPUを消費しない方法はあるのでしょうか?

ただしクラス内でのコーディングとし、
フォーム内使用のTimerメソッドは使用しないとします。
(クラス内であればTimerメソッドは使用OKとします。)

Aベストアンサー

どのようなコードをお書きなのでしょう?

int n = 0;
while( n < 1000 )
{
  Thread.Sleep( 100 );
  n++;
  Application.DoEvents();
  label1.Text = n.ToString();
}

フォームにボタンとラベルを貼って上記のコードをボタンのClickイベントに記述して実行した際に
タスクマネージャのパフォーマンスタブで確認してみましたが
ほとんど影響が無いように思います

本当に作成中のアプリのCPU使用率が上がってしまっているのでしょうか

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています

Q一定時間でPostBackさせたい(ASP.NET C#)

いつもお世話になっております。

おそらく簡単なことなので自力で解決しようとしているのですが、4時間ほど悩んでいますので、お力をお貸し下さい。

VS2003
C# ASP.NET Webアプリケーション


ある画面を一定時間毎に切り替えたいと考えています。
同じ画面で引数を変えて表示を変えるので、PostBackさせれば良いかと思っています。

そこで、以下のようなコードを書きました。

private void Page_Load(object sender, System.EventArgs e)
{
// ページを初期化するユーザー コードをここに挿入します。
if (!IsPostBack)
{
Timer timTest = new Timer();
timTest.Elapsed += new ElapsedEventHandler(OnTimedEvent);
timTest.Interval = 2000;
timTest.Enabled = true;
timTest.AutoReset = true;
lblOnOff.Text = timTest.Enabled.ToString();
timTest.Start();
}
}


private void OnTimedEvent(object source, ElapsedEventArgs e)
{
***********
}

この「***********」の部分で処理とPostBackをしたいのですが、
何を書けばうまくPostBackできるのかが分かりません。

ご存知の方がいらっしゃいましたら、教えてください。

宜しくお願いいたします。

いつもお世話になっております。

おそらく簡単なことなので自力で解決しようとしているのですが、4時間ほど悩んでいますので、お力をお貸し下さい。

VS2003
C# ASP.NET Webアプリケーション


ある画面を一定時間毎に切り替えたいと考えています。
同じ画面で引数を変えて表示を変えるので、PostBackさせれば良いかと思っています。

そこで、以下のようなコードを書きました。

private void Page_Load(object sender, System.EventArgs e)
{
// ページを初期化するユーザー コードをここに挿入...続きを読む

Aベストアンサー

お世話になります。

これは、記述されているコードをみると
実際に行われているのはサーバー側のタイマ処理ですね。

クライアントから 一定時間ごとに サーバーへ
PostBack したいのであれば、
クライアント側のタイマを使わないと
まずいだろうと思います。

参考URL:http://www9.plala.or.jp/oyoyon/html/script/timeout.html

Aベストアンサー

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub SubmitFunctionCall(p_doc)
Dim l_divLogin
Set l_divLogin = p_doc.getElementById("loginForms")

Dim l_divSec
Set l_divSec = l_divLogin.ChildNodes(0)

Dim l_htmTbl
Set l_htmTbl = l_divSec.ChildNodes(0)

Dim l_htmTblRow
Set l_htmTblRow = l_htmTbl.Rows(0)

Dim l_htmTblCell
Set l_htmTblCell = l_htmTblRow.Cells(1)

Dim l_htmBtn
Set l_htmBtn = l_htmTblCell.ChildNodes(0)
Call l_htmBtn.Click()
End Sub


ってかこの手の質問は、「ASPカテゴリ」ではなく、「JavaScriptカテゴリ」か「VBカテゴリ」に質問した方が素早い回答を得られますよ。

gotoPageFromAA011
という関数は、JavaScriptの関数です。

書き方や呼び出し方云々の問題ではなく、直接実行はVBScriptで行える場所にはありません。

Call gotoPageFromAA011()
↑よってこの部分は不要です。


要は、ログインボタンエレメントを取得して、クリックさせてあげると、中で勝手にJavaScriptが実行します。


gotoPageFromAA011をコメントアウトし、以下のコードを追加してください。

'Call gotoPageFromAA011() ← コメントアウト

'↓以下追加
Call SubmitFunctionCall(objIE.Document)

Sub Subm...
続きを読む

QC#の0.98fの様な表記方法について質問です。

C#の0.98fの様な表記方法について質問です。

現在、C#を学習しています。
教材に0.98fの表記がでてきたのですが、説明文がありませんでした。

上記の様な
 数値 + アルファベット
の表記方法の意味を教えてください。

Aベストアンサー

Microsoftはちゃんと仕様を公開してましてね。

http://msdn.microsoft.com/en-us/library/aa691085%28v=VS.71%29.aspx

>A real literal suffixed by F or f is of type float.

Fもしくはfの付いた実数リテラルはfloat型である。

#多分ECMA-374にもあるけど、オンラインで見られたほうが楽なんで。
http://www.ecma-international.org/publications/standards/Ecma-334.htm

Qvalue="<%=date25(25は変数です)%>"値を変数にしてデータを受け取りたい

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数件(26件)処理するとなると

 変数名1~26の処理をnumに置き換えて
 26個のテキストBOXにそれぞれのデータを出力したいのですが
 どの様に記述すればいいでしょうか?
(value="<%=date<%=num%>%>"にしましたが、データの取得は出来ませんでした。
 value="&lt;%=date<%=num%>%&gt;"も
 テキストBOXに<%=date1%>~26出力されて取得できませんでした)


 説明不足の点がありましたら、即追加いたします。
 以上、よろしくお願いいたします。



ソースを記載いたします

<!-- カレンダー設置関数 -->
<% Function cal(num)
  Dim a
  Dim str %>
  <input type="text" name="date<%=num%>" id="date<%=num%>" onClick="cal<%=num%>.write();
<%  a = 2
   Do Until a > 26
    if a <> num then
%>
     cal<%=a%>.hide();
<%   Else
    End if
     a = a + 1
    Loop
    Response.Write str
    Response.Write " "" "
%>
   onChange="ca<%=num%>.getFormValue(); cal<%=num%>.hide();" value="&lt;%=date<%=num%>%&gt;"【問題の箇所です】>
    <br>
    <div id="caldiv<%=num%>"></div>
<% End Function%>

いつもお世話になっております。
ASPのプログラミングの最中、データの受け取りを関数で行おうとした所
ソースの記述が分からなくなったので質問した次第です。
お手数をおかけしますが、アドバイスお願いいたします

※質問概要
 あらかじめ入力していたデータを
 value="<%=date値%>(値=1~26)で受け取り、内容をHTMLに表示しようと思っています。
値の変数は「num」
 一件だけならば value="<%=date10%>" と入力して
 「2008/08/29」日付を取得、HTMLに記述させられるのですが
 関数で、複数...続きを読む

Aベストアンサー

VBScriptなら Eval関数を使って変数の値を <%= で出力しましょう

value="<%= Eval("date" & num ) %>">

といった具合にします


人気Q&Aランキング

おすすめ情報