ここで奇妙な行動をしています。いくつかのASP.NETリンクボタンコントロールを使用していくつかのhtmlを生成するXSLTがあります
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());
}
今それはこの制御を取ります:
<asp:LinkButton ID="LinkButton2" runat="server" OnClick="LoadPromo" Text="Get your Free 2" />
イベントを追加すると、これに変更されます。
<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>
ご覧のとおり、onclickをasp.netコントロールではなくjavascriptのように変更します。「LoadPromo」を「LoadPromo;」に変更します。これを回避するために何ができますか?
前もって感謝します
私が試したこと:
lb.Click += 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>