我创建了一个带有文本框的自定义控件。
我在 GridView 中调用它。当触发更新事件时,它总是保存 0。我使用了以下代码,任何人都可以提供相同的帮助。
以下是用于自定义控件的代码。
ASCX 代码
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ItemRequiredTextBox.ascx.cs"
Inherits="ItemRequiredTextBox" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:TextBox ID="txtWin_Delievered_Qty" runat="server" >
<asp:FilteredTextBoxExtender ID="ftbe3" runat="server" TargetControlID="txtWin_Delievered_Qty"
ValidChars="1234567890" />
<asp:CompareValidator ID="CompareValidator1" runat="server" Display="None" ValueToCompare='<%# this.Text2 %>' ControlToValidate="txtWin_Delievered_Qty" Type="Integer"
ErrorMessage="Quantity to be delievered can not be More than Required Quantity"
Operator="LessThanEqual">
<asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" TargetControlID="CompareValidator1"
runat="server">
<asp:CompareValidator ID="CompareValidator2" runat="server" Display="None" ValueToCompare='<%# this.Text1 %>' ControlToValidate="txtWin_Delievered_Qty" Type="Integer"
ErrorMessage="Quantity delievered can not be less than delievered Quantity" Operator="GreaterThanEqual">
<asp:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" TargetControlID="CompareValidator2"
runat="server">
ASCX.CS 代码
using System;
using System.Data;
using System.ComponentModel;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class ItemRequiredTextBox : System.Web.UI.UserControl
{
[Bindable(true, BindingDirection.TwoWay)]
protected void Page_Load(object sender, EventArgs e)
{
}
private int TexT1;
private int TexT2;
public int Text1
{
get { return TexT1; }
set { TexT1 = value; }
}
public int Text2
{
get { return TexT2; }
set { TexT2 = value; }
}
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
}