0

--------------Gridviews DataBound イベント -----------------

protected void grdShowCallingList_DataBound(object sender, EventArgs e)
{
    if (grdShowCallingList.Rows.Count > 0)
    {
      foreach (GridViewRow row in grdShowCallingList.Rows)
        {
           LinkButton lnkCallHistorySummary = (LinkButton)row.FindControl("lnkCallHistorySummary");
            lnkCallHistorySummary.OnClientClick = "return getCallHistroySummary('" + lblPersonID.Text + "','" + lblDomainID.Text + "');";
        }
    }
}

-------------Javascript イベント トリガーを呼び出すには-------

function getCallHistroySummary(PID,DID)
{
document.getElementById("ctl00_cphContent_hfCHS").value = PID + "|" + DID;
document.getElementById("ctl00_cphContent_btnTrgCHS1").click();
return false;

}
function btnTrgCHS1Click() {
document.getElementById("ctl00_cphContent_btnTrgCHS_server").click();
return false;
}

------------- トリガーするボタン-------------

//------------Modal Popup Starts-------------
<div ID="pnlCallSumHistory" runat="server"  style="overflow: scroll; width: 710px; height: 400px;">
<asp:Button ID="btnTrgCHS_server" runat="server" OnClick="btnTrgCHS_Click" style="display:none;" />

<asp:UpdatePanel ID="updatePnlCallHistory" runat="server">
<ContentTemplate>
<asp:Literal ID="ltrCallHistory" runat="server"></asp:Literal>

</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID="btnTrgCHS_server" EventName="Click" />
</Triggers>
</asp:UpdatePanel>

</div>
//------------Modal Popup Panel Ends-------------
<asp:Button ID="btnTrgCHS1" runat="server"  style="display:none;"         onclientclick="btnTrgCHS1Click();"  />

btnTrgCHS_server クリックイベントに関連付けられたトリガー イベントを起動できません...

4

3 に答える 3

0

動的に生成された ID をハードコーディングしないでください。これらは、コンテナー コントロールを追加すると変化します。

代わりにClientIDプロパティを使用して、asp.net によって生成されたクライアント側 ID を取得します。

function getCallHistroySummary(PID,DID){
  document.getElementById("<%=hfCHS.ClientID%>").value = PID + "|" + DID;
  document.getElementById("<%=btnTrgCHS_server.ClientID%>").click();
  return false;
}

ClientID が間違っているようです。それらを修正して確認する

于 2012-09-10T09:20:27.767 に答える
0

その場合は、JavaScript から __doPostback() を使用してポストバックを手動でトリガーする必要があります。

次に、Page_Load() で、ポストバックされた要素を見つけます。ボタンの ID が探している ID である場合は、null 引数でイベントを呼び出します。これで問題が解決するはずです。

btnTrgCHS1Click(null,null)

また、イベントは onClientClick() ではなく OnClick にする必要があります

于 2012-09-11T23:36:05.280 に答える