У меня есть Panel
с ModalPopupExtender
, который отображает данные DataList
. Разметка aspx выглядит следующим образом.С javascript получить текст метки в div, завернутый в LinkButton в datalist?
По существу, пользователь нажимает на ButtonOpenPopup
и отображается Panel
с каталогом. Затем пользователь нажимает на элемент datalist, который представляет RoomNUm
.
Как вы можете видеть, есть также TextBox
под названием TextBoxNewRoomNum
. Цель этого TextBox
состоит в том, чтобы отобразить RoomNum, который был нажат в DataList
.
Проблема заключается в том, что это необходимо сделать без веб-формы, выполняющей любые postback
. Я пробовал разные вызовы функций с OnClientClick
, но ничего не сработало. Чаще всего панель исчезает с щелчком.
Мой вопрос: Как перенести значение RoomNum элемента данных с кликом по ссылке в TextBox
TextBoxNewRoomNum? Я не предпочитаю jquery.
Любая помощь приветствуется. Спасибо.
<ajax:ToolkitScriptManager ID="ScriptManager1" runat="server"></ajax:ToolkitScriptManager>
<ajax:ModalPopupExtender ID="ModalPopupExtenderRoom" runat="server" PopupControlID="PanelRoomDetail"
TargetControlID="btnDummy">
</ajax:ModalPopupExtender>
<asp:Button ID="ButtonOpenPopup" runat="server" Text="PopUp" onclick="ButtonOpenPopup_Click" />
<asp:Button ID="btnDummy" runat="server" Text="PopUp" style = "display:none" />
<asp:Panel ID="PanelRoomDetail" runat="server" style="width:600px; height: 600px;display:none">
<div>
<asp:DataList ID="DataListFloorThumb" runat="server" RepeatColumns="5" >
<ItemTemplate>
<div >
<asp:LinkButton id="LinkButton1" runat="server" OnClientClick='return ShowRoom(<%# Eval("RoomNum")%>);'>
<div style='width:72px;height:72px; background-image:url(<%# Eval("image_path_thumbnail","Styles/Images/{0}") %>)'>
<div>
<div>
<asp:Label ID="Label1" CommandName="cmd_RoomNum" CommandArgument='<%# Eval("RoomNum")%>'
runat="server" Text='<%# Eval("RoomNum")%>' ></asp:Label>
</div>
</div>
</div>
</asp:LinkButton>
</ItemTemplate>
</asp:DataList>
</div>
<div>
<div style="float: left; width: 200px;">
<asp:TextBox ID="TextBoxNewRoomNum" runat="server"></asp:TextBox>
</div>
</div>
</asp:Panel>
Я изменил OnClientClict к 'OnClientClick = 'ShowRoom (302);' 'и изменил яваскрипт функции' функции Showroom (номер) {Alert (номер); return false; } ', и панель все еще закрывается (после отображения« alert »). – rbhat
Просто для теста удалите атрибут runat = 'из LinkButton и повторите попытку. Если панель не исчезает, это означает, что это обратный вызов, вызывающий проблему, и «return false»; не останавливает обратную передачу. –
То, что я написал ранее, было моей ошибкой. Я изменил на «OnClientClick =» return ShowRoom (302); »и функцию' function ShowRoom (room) {alert (room); return false; } ', и панель не исчезает после« предупреждения ». – rbhat