사용자 지정 컨트롤에 랩 :
: 당신이 페이지에 특정 코드의 출력을 조작 할 수있게하려면, 같은 것을 이벤트를 추가
public class MyCMSControl: CommercialCMSControl
{
protected override void Render(HtmlTextWriter writer)
{
StringBuilder stringBuilder = new StringBuilder();
StringWriter stringWriter = new StringWriter(stringBuilder);
using (HtmlTextWriter myWriter = new HtmlTextWriter(stringWriter))
{
base.Render(myWriter);
string newOutput;
// the original output is in stringBuilder, do whatever you want, and
// put it in newOutput
writer.Write(newOutput);
}
}
}
public delegate void OnRenderHandler(object sender, string originalOutput, HtmlTextWriter writer)
public OnRenderHandler OnRender;
...
/// before writer.Write above...
if (OnRender!=null) {
OnRender(this,stringBuilder.ToString(),writer);
}
디자이너에서 사용자 지정 버전을 사용할 수있게하려면 web.config에 뭔가가 필요합니다.
<pages>
<controls>
<add namespace="My.Control.Namespace" assembly="My.Control.Assembly" tagPrefix="MyControlsPrefix"/>
</controls>
</pages>
렌더링 된 후에 html을 변경하려면 자바 스크립트를 사용할 수 있습니까? – Clicktricity
그건 내 첫 번째 생각 이었지만 솔직히 말해 레이아웃에 약간 영향을 미치기 때문에 좋지 않습니다. – Mantorok