4

我正在尝试从 web 控件访问父页面上的隐藏字段。以下有效,但我想在一行中完成。

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;

但是请注意,在一行中执行此操作会使您遇到几种难以诊断的可能异常。

于 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 回答