여기에 이상한 동작이 있습니다.Dotnetnuke의 ParseControl ASP.NET에서 onclick을 C# 메서드 대신 javascript로 변경했습니다. 이상한 동작
<asp:LinkButton ID="LinkButton2" runat="server" OnClick="LoadPromo" Text="Get your Free 2" />
내가 이벤트를 추가 할 때이 그것을 변경 : 나는 몇 ASP.NET 링크 버튼에 일부 HTML은이 컨트롤을 필요 지금
String mstring = sw.ToString();
var myctrl = Page.ParseControl(mstring);
foreach (Control Control in myctrl.Controls)
{
if (Control is LinkButton)
{
LinkButton lb = (LinkButton)Control;
lb.OnClientClick = "LoadPromo";
}
Panel1.Controls.Add(myctrl);
}
protected void LoadPromo(object sender, EventArgs e)
{
Console.Write(e.ToString());
}
컨트롤을 생성 일부 XSLT를
<a onclick="LoadPromo;" id="dnn_ctr954_ViewPromotions_LinkButton2" href=" WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$LinkButton2", "", true, "", "", false, true))">Get your Free 2 a>
이제 보시다시피 asp.net 컨트롤 대신 javascript가 onclick으로 바뀝니다. "LoadPromo"를 "LoadPromo;"로 변경합니다. 이 문제를 해결하려면 어떻게해야합니까? 내가 시도 것들 사전
에서
감사합니다 :
<a id="dnn_ctr954_ViewPromotions_LinkButton2" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$LinkButton2", "", true, "", "", false, true))">Get your Free 2</a>
을 수행하여
그런 다음 당신이 당신의 버튼이를 연결할 수 있으며 작업을 doesxn't :는이 같은 C#을 방법이 있어야합니다. ID = "dnn_ctr954_ViewPromotions_LinkButton2"HREF = "자바 스크립트 : WebForm_DoPostBackWithOptions (새 WebForm_PostBackOptions ($ true로 ctr954 $ ViewPromotions $ LinkButton2 ", " ", DNN ", " ", " ", 허위 사실 나는이를 얻을 때)) "> 무료로 받으십시오. 2 –
예, 그렇게해야합니다. WebForm_DoPostBackWithOptions()는 코드 숨김에서 LoadPromo()를 실행할 포스트 백을 야기시키는 javascript 함수입니다. – jrummell
또한 게시물에 다시 적용해야하며 고정 된 문제 : if (Page.IsPostBack ||! Page.IsPostBack) –