Рейтинг:
8
F-ES Sitecore
Пропуск двух параметров, как
add.aspx?param1=123¶m2=456
Однако если второй параметр должен быть значением текстового поля, то вам, вероятно, лучше использовать не OnClientClick, а чистый javascript на странице. Вам понадобится что-то вроде
<asp:TextBox ID="TextBox1" runat="server" />
<asp:Button runat="server" ID="btn" OnClientClick='<%# string.Format("window.open(\"add.aspx?cid={0}¶m2=\" + document.getElementById(\"{1}\").value, null,\"scrollbars=yes,top=10,left=10\", \"true\");", Eval("psid"), Container.FindControl("TextBox1").ClientID) %>' Text="click"/>
Как вы находите текстовое поле, чтобы получить его идентификатор, зависит от того, где находится текстовое поле и что это за текстовое поле, но ни то, ни другое вы не сказали.
Suvendu Shekhar Giri
5ed! Имеет смысл.
Member 12926744
&ЛТ;АСП:текстовое поле с ID="txt_chq" CssClass="txtch" ширина="шириной 250 пикселей и следующий" атрибут runat="сервер"и GT;
Это мое поле текстового поля, которое нужно передать.
Однако я получаю ошибку "не содержит определения для FindControl" в приведенном выше коде.Не могли бы вы пожалуйста помочь мне.
F-ES Sitecore
Вы не дали коду достаточного контекста, решение зависит от того, на каком элементе находится атрибут OnClientClick, и если это привязка к базе данных и т. д., Ни один из которых вы не объяснили.
Member 12926744
Атрибут OnClientClick находится на imagebutton.
<asp:templatefield>
<itemtemplate>
&ЛТ;как ASP:ImageButton с ИД="ibut_Print" атрибут runat="сервер" цель="_blank" OnClientClick=в'<%# Ивала("фунт", "окна.открыть(\"добавить.аспн?УУР={0}\", значение null,\"полосы прокрутки=да,ТОП=10,левая=10\", \"правда\");") %&ГТ;'
AlternateText="просмотреть" CssClass="btn5" цвет="белый" подсказка="печать накладной" /&ГТ;
<ItemStyle HorizontalAlign="Center" Width="15px" />
F-ES Sitecore
Вы все еще не объяснили, где находится текстовое поле. Люди не могут дать решения вещей без правильных деталей. Где находятся элементы управления и как они связаны, имеет большое значение, и без соответствующей информации невозможно дать точные ответы.
Member 12926744
Ну вот и получил ответ.
&ЛТ;АСП:кнопка атрибут runat="сервер" идентификатор="БТН" OnClientClick=в'<%# строку.Формат (окно".открыть(\"добавить.аспн?УУР={0}¶м2=\" + документ.метода getElementById(\"{1}\").значение null,\"полосы прокрутки=да,ТОП=10,левая=10\", \"правда\");", функция eval("фунт"), форма.FindControl("txt_chqdate").ClientID) %>' />
Большое вам спасибо за вашу помощь.
Рейтинг:
14
Suvendu Shekhar Giri
Из вашего кода видно, что вы не совсем передаете значения какой-либо функции, поэтому я боюсь, что это невозможно, хотя я и не профессионал в Javascript.
Однако вы всегда можете передать столько параметров, сколько требуется функции, используя Eval
.
В этом случае ваш код должен выглядеть примерно так-
OnClientClick='<%# "MyFunctionName(" +Eval("FirstParameter") + ","+Eval("SecondParameter")+" );" %>'
Похоже, что вы также хотите открыть новое окно, которое вы также можете написать внутри функции.
Пожалуйста, дайте мне знать, если что-то не ясно или если вам нужна дополнительная помощь.
Спасибо :)
Member 12926744
Спасибо за ваш ответ.Можем ли мы передать значение текстового поля в качестве параметра?Если да ,то не могли бы вы сказать мне, как это сделать?Хотя я не мог найти подходящего способа.
Suvendu Shekhar Giri
Вам нужно найти это с помощью document.getElementById().
Дайте мне знать, если потребуется дополнительная помощь.
Member 12926744
Большое спасибо.Получить ответ
&ЛТ;АСП:кнопка атрибут runat="сервер" идентификатор="БТН" OnClientClick=в'<%# строку.Формат (окно".открыть(\"добавить.аспн?УУР={0}¶м2=\" + документ.метода getElementById(\"{1}\").значение null,\"полосы прокрутки=да,ТОП=10,левая=10\", \"правда\");", функция eval("фунт"), форма.FindControl("txt_chqdate").ClientID) %>' />