Рейтинг:
9
Vincent Maverick Durano
Я бы посоветовал вам вместо этого заняться этим на стороне клиента. Вы можете легко сделать это с помощью jQuery. Вот краткий пример:
HTML:
<asp:GridView ID="gv1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtCommission" placeholder="Enter value" runat="server" CssClass="txtField" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblCommission" runat="server" CssClass="lblField" Text='<%# Bind("Commission") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
ссылка на jQuery:
<script src="https://code.jquery.com/jquery-3.1.0.slim.min.js" integrity="sha256-cRpWjoSOw5KcyIOaZNo4i6fZ9tKPhYYb6i5T9RSVJG8=" crossorigin="anonymous"></script>
язык JavaScript:
$(function () {
$(".txtField").keyup(checkValue);
function checkValue() {
// loop through the rows
$(".txtField").each(function () {
// get the values from this row:
var $val1 = parseInt($(this).val()) || 0;
var $val2 = parseInt($(this).parent().parent().find(".lblField").text()) || 0;
if ($val1 > $val2) {
alert("Please enter a value less than the commission");
$(this).focus();
return false;
}
});
}
});
С ФОНОВЫМ КОДОМ:
using System;
using System.Collections.Generic;
namespace WebFormsDemo
{
public class Item
{
public string Name { get; set; }
public int Commission { get; set; }
}
public partial class JavaScript : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Item> item = new List<Item>();
item.Add(new Item { Name = "Item1", Commission = 100 });
item.Add(new Item { Name = "Item2", Commission = 200 });
item.Add(new Item { Name = "Item3", Commission = 300 });
item.Add(new Item { Name = "Item4", Commission = 400 });
item.Add(new Item { Name = "Item5", Commission = 500 });
gv1.DataSource = item;
gv1.DataBind();
}
}
}
}
Это должно работать в соответствии с вашими требованиями.
Member 12749751
сэр...этот код javascript выдает мне ошибку в первой строке " $(function () {"
пожалуйста, посоветуйте любой другой вариант
F-ES Sitecore
Вам нужно добавить ссылку на скрипт в jQuery.
Vincent Maverick Durano
Я хотел включить ссылку на jQuery из кода, но когда я это сделал, это нарушило форматирование кода. Вам нужно включить ссылку на jQuery, как это было предложено.
Я обновил решение и включил ссылку на jQuery. Вам нужно добавить его перед вашим JavaScript.
Member 12749751
Сэр...все сделано...большое вам спасибо
Vincent Maverick Durano
отлично! Еще одна вещь, однако, не забудьте закрыть эту тему, отметив сообщение, которое помогает в качестве ответа для будущих читателей. Спасибо!
Member 12749751
У меня есть еще одна проблема: я использую одну и ту же страницу регистрации как для редактирования профиля, так и для регистрации нового участника.теперь все работает правильно, но когда я нажимаю на кнопку "Добавить нового участника", он открывает "страницу с заполненными пользовательскими данными" (то есть страницу управления профилем), предложите мне, какой код я должен написать при загрузке страницы, чтобы система могла различать, когда она должна загрузить страницу управления профилем и когда "Добавить страницу участника"
Vincent Maverick Durano
Я бы посоветовал вам создать отдельный поток для вашего другого вопроса, чтобы ответы на этот поток не сбивали с толку других.
Member 12749751
Сэр, у меня есть еще одно сомнение, теперь я проверил оба значения и, если значение больше, чем значение комиссии, то я хочу показать предупреждение, а также установить значение текстового поля как ноль..все работает, но я не могу настроить значение текстового поля на ноль ..plss help
Vincent Maverick Durano
просто делать $(this).val("0");
Member 12749751
спасибо...но я уже сделал это вчера