4

Web コントロールから親ページの隠しフィールドにアクセスしようとしています。以下は機能しますが、1行で実行したいです。

HiddenField hiddenFieldPid = (HiddenField)this.Parent.FindControl("HiddenFieldPid");
hiddenFieldPid.Value = ListBox_JobPositions.SelectedValue;

これが機能しない理由はよくわかりませんが、これを行うと Value プロパティがインテリセンスに表示されません。

(HiddenField)this.Parent.FindControl("HiddenFieldPid").NOOPTIONFORVALUEHERE = ListBox_JobPositions.SelectedValue;
4

3 に答える 3

5

キャストを適切な場所で機能させるには、括弧を追加する必要があります。

((HiddenField)this.Parent.FindControl("HiddenFieldPid"))
                         .Value = ListBox_JobPositions.SelectedValue;

ただし、これを1行で実行すると、診断が困難になる可能性のあるいくつかの例外が発生する可能性があることに注意してください。

于 2013-03-22T02:43:14.827 に答える
2

あなたは近いです:

((HiddenField)this.Parent.FindControl("HiddenFieldPid")).Value = ListBox_JobPositions.SelectedValue;

基本的に、FindControlメソッドは、キャストが必要なオブジェクトを返します。

于 2013-03-22T02:43:06.997 に答える
0
((HiddenField)this.Parent.FindControl("HiddenFieldPid")).value=ListBox_JobPositions.SelectedValue.toString();
于 2013-03-22T06:28:23.867 に答える