<div id="roomTypeContainer">
がクリックされたときに、データを取得するためにポストバックを実行します。
したがって、LinkButton
の中に入れてください。 div
をクリックすると、ブラウザコンソールにエラーがあります。ASP.Net Webformsでポストバック操作を実行する方法
Uncaught TypeError: theForm.submit is not a function
リピータは、ユーザーコントロールである
ASCX:
<asp:Repeater ID="rpRoomTypes" runat="server" ItemType="Sitecore.Data.Items.Item"
OnItemDataBound="rpRoomTypes_ItemDataBound" OnItemCommand="rpRoomTypes_ItemCommand">
<ItemTemplate>
<sc:EditFrame ID="efRoomType" runat="server" >
<asp:LinkButton ID="lnkRoomType" runat="server" CommandName="cmd_RoomType">
<div id="roomTypeContainer" runat="server">
..some html
</div>
</asp:LinkButton>
</sc:EditFrame>
</ItemTemplate>
</asp:Repeater>
UPDATE:私は、ブラウザのコンソールでエラーのリンクをクリックすると 、このコードは、コンソールに示されています:
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['mainform'];
if (!theForm) {
theForm = document.mainform;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit(); //error here
}
}
</script>
上記のコードはSitecoreによって生成されたようです。 mainform
は、aspxページのフォームのIDです。
フォームの名前を確認してください。ユニークでなければなりません。ページ上のいくつかの要素がフォームと同じ名前を持つ場合、このエラーが表示される可能性があります。 – Anton
マスターページ(aspx)には、idが 'mainform'のフォームタグがあります。このUsercontrolにはフォームがありません – Qwerty
theForm.submitが呼び出されている場所にコードブロックを投稿できますか? –