0

ボタンクリックイベントが発生しないという奇妙な問題に遭遇しました。私はほとんどすべての可能性を試しましたが、まだうまくいきません。数時間グーグルで検索しましたが、まだ助けにはなりません。一部のユーザーは、別のフォーラムでまったく同じ問題を経験しましたが、具体的な回答はありませんでした。button_click イベントを試し、イベント ハンドラーを登録しようとしましたが、どれも機能しません。私のシナリオでは、従業員データとともに従業員情報を表示する sitefinity5 カスタム モジュールがあります。従業員の写真をクリックすると、このボタンがある JQUERY ダイアログが表示されます。アプリケーションがロードされると、コード ビハインド ファイルの page_load が起動されます。また、最初に従業員の画像をクリックすると、page_load が起動されますが、button_click は起動されません。それ以降の画像をクリックしても、Page_Load は発生しません。誰' さんの助けは本当に感謝しています。以下は私のコードスニペットです。

<%@ Control Language="C#" AutoEventWireup="true" Inherits="SitefinityWebApp.SfCtrlPresentation.OpenAccessDataProvider_a4a794260c0b4440b466f75d11146db8" Codebehind="OpenAccessDataProvider,a4a794260c0b4440b466f75d11146db8.ascx.cs" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.PublicControls.BrowseAndEdit" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.ContentUI" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Comments" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI.Fields" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="sf" Namespace="Telerik.Sitefinity.Web.UI" Assembly="Telerik.Sitefinity" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<%--<%@ Register TagPrefix="jq" Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" %>--%>

<telerik:RadListView ID="dynamicContentListView" ItemPlaceholderID="ItemsContainer" runat="server" EnableEmbeddedSkins="false" EnableEmbeddedBaseStylesheet="false">
    <LayoutTemplate>
        <ul class="sfitemsList sfitemsListTitleDateTmb">
            <asp:PlaceHolder ID="ItemsContainer" runat="server" />
        </ul>
    </LayoutTemplate>

        <ItemTemplate>
      <li class="sfitem sfClearfix">
            <h2 class="sfitemTitle">
                <sf:DetailsViewHyperLink ID="DetailsViewHyperLink" TextDataField="Title" runat="server" />
            </h2>
           <sf:AssetsField ID="AssetsField1" runat="server" DataFieldName="Picture" />
           <sf:SitefinityLabel ID="SitefinityLabel1" runat="server" Text='<%# Eval("Designation")%>'  WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" />           
          <sf:SitefinityLabel ID="SitefinityLabel2" runat="server" Text='<%# Eval("CompanyName")%>' WrapperTagName="div" HideIfNoText="true" CssClass="sfitemShortTxt" />
          <sf:AssetsField ID="AssetsField2" runat="server" DataFieldName="Documents"/>
      </li>
    </ItemTemplate>
</telerik:RadListView>

<sf:Pager id="pager" runat="server"></sf:Pager>

<sf:ResourceLinks ID="resourcesLinks" runat="server">
    <sf:ResourceFile JavaScriptLibrary="JQuery" />
</sf:ResourceLinks>


<div class="dialogTest"> <br />
<br />
Please enter your email address: <input type="text" name="emailAddress" style="width: 300px;" /><br />
<br />

<asp:TextBox ID="txtBox" runat="server"></asp:TextBox> <br/>
<asp:LinkButton Runat="server" ID="btnSubmit" Text="Submit" /> <br/>
<asp:Button ID="Button1" runat="server" Text="Button" CausesValidation="False" 
        onclick="Button1_Click" />

<%--<button name="btnSubmit" onclick="btnSubmit_Click" >Submit</button>--%>
</div>

<script type="text/javascript">
$j = jQuery.noConflict();
$j(document).ready(function () {
    $j(".sfClearfix .sfimageWrp img").click(function () {
        $j(".dialogTest").addClass("open");
        //return $j(this).attr("src");
    });
});
</script>


//.cs file
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Sitefinity.Modules.Events;
using Telerik.Sitefinity.Events.Model;

namespace SitefinityWebApp.SfCtrlPresentation
{
    public partial class OpenAccessDataProvider_a4a794260c0b4440b466f75d11146db8 : System.Web.UI.UserControl
    {
        //protected override void OnLoad(EventArgs e)
        //{
        //    base.OnLoad(e);
        //}

        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            { 
                btnSubmit.Click+= new EventHandler(btnSubmit_Click);
            }
        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        { 

        }

        protected void Button1_Click(object sender, EventArgs e)
        {

        }
    }
}
4

1 に答える 1

0

これはパブリック フロント エンド ページのユーザー コントロール用ですか? ページのプロパティ (管理画面の [ページ] リストの下にある [アクション] メニュー) に移動し、チェックボックスをオンにして ViewState を有効にします。

デフォルトでは、Sitefinity はビューステートを無効にしてパフォーマンスを向上させます。

これが役に立てば幸いです!

于 2012-04-25T13:02:12.700 に答える