ページのすべてのコントロールのIDとそのタイプも取得できます。印刷すると、ページに表示されます
myPhoneExtTxt Type:System.Web.UI.HtmlControls.HtmlInputText
これはこのコードに基づいて生成されます
foreach (Control c in page)
{
if (c.ID != null)
{
controlList.Add(c.ID +" Type:"+ c.GetType());
}
}
しかし、タイプがHtmlInputである場合は、そのタイプを確認してテキストにアクセスする必要があります。その方法がよくわかりません。
お気に入り
if(c.GetType() == (some htmlInput))
{
some htmlInput.Text = "This should be the new text";
}
どうすればこれを行うことができますか?.
私があなたが求めているものを手に入れたら、これで十分です:
if (c is TextBox)
{
((TextBox)c).Text = "This should be the new text";
}
主な目標がテキストを設定することである場合:
if (c is ITextControl)
{
((ITextControl)c).Text = "This should be the new text";
}
非表示フィールドもサポートするために:
string someTextToSet = "this should be the new text";
if (c is ITextControl)
{
((ITextControl)c).Text = someTextToSet;
}
else if (c is HtmlInputControl)
{
((HtmlInputControl)c).Value = someTextToSet;
}
else if (c is HiddenField)
{
((HiddenField)c).Value = someTextToSet;
}
追加のコントロール/インターフェイスをロジックに追加する必要があります。