내가 좋아하는 것이 무엇 :추가 ASP 컨트롤을 프로그래밍 컨텐츠를 추가하는 방법
을 내가 oncommand
와 commandargument
속성을 가진 앵커를 만들 수있을 것입니다 이상적인 시나리오에서,하지만 작동하지 않는 틀리지 않는 경우 단추와 같은 컨트롤을 만들어야합니다. 내 문제는 컨트롤을 추가 할 무언가가 필요하기 때문에 페이지의 각 항목에 해당 버튼을 배치하고자 할 때 발생합니다. 그러나 runat="server"
으로 앵커를 만들고 id="try"
라고 말하면 나는 할 수 없습니다. try.Controls.Add(button)
앵커 'try'는 실제로 아직 만들어지지 않았습니다.
배경 :
대부분의 콘텐츠가 프로그래밍 방식으로 추가됩니다. stringbuilder는 페이지에 html로 표시 될 문자열을 만드는 데 사용됩니다. 이 문자열 중간에 페이지에 컨트롤을 추가 할 수 있습니까? 또는이 방식으로 프로그래밍 방식으로 추가되는 요소에?
나는 시도했다 : 요소가 프로그램 추가되기 때문에
는, 앵커 만들기 (또는 기타)와 그 요소의 id
을 목표로하고 다음과 같이 버튼을 생성하지만,는 id
달라집니다 필요한 숫자 S는 try0, try1 등이 될 것입니다 :
var button = new Button {
CommandArgument = "test",
Text = "Try"
};
button.Command += bt_sendMail_tryDevice_Click;
try.Controls.Add(button);
그래서 내 aspx 페이지에서 내가 불평하지 않습니다 그래서
id="try"
와 '더미'요소가 다음의 변화를 시도했지만 이해 내가 그것을 어떻게 좋아하지 않는지, 동시에 나는 어떻게 알지 못한다. 주위를 둘러 볼 수 있습니다. (tryCount는 id를 고유하게 유지하기 위해 반복 할 때마다 증가하는 int입니다.)
this.FindControl(try.ToString() + tryCount.ToString()).Controls.Add(button);
'ASP : PlaceHolder'이 사용 사례를 위해 설계되었습니다. 컨트롤이 추가 될 때까지 (일반적으로 프로그래밍 방식으로) 렌더링되지 않습니다. –
하지만 프로그래밍 방식으로 자리 표시자를 추가 할 수 없습니까? 고정 된 위치에서 다른 위치에 자리 표시자를 사용하고 있지만 여기에는 페이지의 각 행마다 다른 자리 표시자가 필요합니다. – dudledok
"페이지의 각 행"은 무엇을 의미합니까? 격자보기 있어요? 연발총? 아이템 템플릿에 LinkButton을 추가 할 수 있습니까? – Jay