私はASP.NETページを持っています。どのようにASP.NETラベルをキャストできますか?
<label id="CalistigiFirmaUnvanLabel" runat="server" style="width: 100%; float: left; font-size: 10pt; font-weight: bold; font-family: Calibri">
Çalıştığı Kurumun Unvanı</label>
15ページにそれぞれ10個のラベルがあります。条件では、これらのラベルのinnerTextsを変更したいと思います。したがって、ページの読み込みまたは初期化中に、私はこのような何かを書きたい:
foreach (Control ctrl in mainDiv.Controls)
{
if (ctrl.GetType().BaseType.Equals(CalistigiFirmaUnvanLabel.GetType())
{
//if this labels innerText is in my Dictionary, then change it like (Label).InnerText = sth;
}
}
しかし、「ラベル」のキャストが動作しません。 calistigifirmaVergiNoLabel
のタイプを見ると、それはSystem.Web.UI.HtmlControls.HtmlGenericControl
と言われています。内側のifの中にctrlのLabelをキャストすると、InnerTextというプロパティはありません。どのようにキャストできますか?また、このコードではdivも使用されます。私はラベルだけが必要です。私はBaseTypeを削除しましたが、if文を入力しませんでした。
これは、 '
として宣言してください。 – Ada
Yeh、 'if(ctrl is HtmlGenericControl)'を使用し、それをその型にキャストし、 'InnerText'をチェックします。 – ThePower