Вопрос

У меня есть элемент управления asp: button, и я использую параметры "CommandName" и "CommandArgument" в файле .aspx.Имя команды находится с помощью <%# Eval("Name") %>, но командный аргумент должен быть найден с помощью функции javascript.Однако я не совсем уверен, как сделать это встроенным.Функция возвращает число (integer), которое должно использоваться в качестве значения CommandArgument.Возможно ли это сделать?Спасибо

ОТРЕДАКТИРОВАНО ДЛЯ ДОБАВЛЕНИЯ КОДА Я добавил пример кода (у меня нет доступа к реальному коду atm).Однако, в принципе, CommandArgument должен быть значением, возвращаемым функцией CalculateLength().

function CalculateLength(a,b) {
    return a*b;
}

<asp:Button ID="btnUpdate" runat="server" Text="Update" CommandName=<%# Eval("Name") %> CommandArgument= ??? //Should be result of CalculateLength(a,b). 
Это было полезно?

Решение

Я не уверен, как вы собираетесь заставить javascript работать, потому что aspx-код работает на стороне сервера и создает выходные данные для вашей кнопки.К моменту запуска javascript код страницы уже собран, а также HTML-код кнопки и прикрепленный javascript.

Есть ли в любом случае способ вычислить функцию на стороне сервера, а затем просто выполнить:

CommandArgument="<%= CalculateLengthServerSide() %>"

Вам не нужно просто использовать данные, к которым вы привязываетесь, вы можете вызвать любую серверную функцию.

Редактировать: Попробуйте перенести вашу метку, на которой хранится количество, в текстовое поле и сделать ее доступной только для чтения, чтобы пользователи не испортили ее.После нажатия кнопки вы должны быть в состоянии найти элемент управления textbox и прочитать введенное значение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top