2013-03-22 65 views
1

我正試圖從webcontrol訪問父頁上的隱藏域。下面的作品,但我想在一行中完成。如何在一行代碼上投射和使用對象?

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

真的不知道爲什麼,這並不工作,但我不明白的Value屬性出現在智能感知當我這樣做:

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

回答

3

您必須添加括號來獲得投在正確的地方工作:

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

但是要知道,在一行這樣做可能讓你幾個可能的例外,這將是難以診斷。

2

你接近:

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

本質上,FindControl方法正在返回需要投射的對象。

0
((HiddenField)this.Parent.FindControl("HiddenFieldPid")).value=ListBox_JobPositions.SelectedValue.toString(); 
+0

我不完全確定你試圖用這個答案來完成什麼。看起來你所做的只是重申OP的原始代碼。你是用這個去某個地方還是應該簡單地刪除答案? – NotMe 2013-03-27 01:24:52