2013-08-25 3 views
0

Я создал пользовательский элемент управления с текстовым полем.Пользовательский контроль с TextBox в GridView в ASP.net

Я звоню в 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; 
} 
} 




} 

ответ

0

Создать общественную собственность в UserControl, чтобы получить значение текстового поля:

public string Text 
{ 
    get 
    { 
     return txtWin_Delievered_Qty.Text; 
    } 
} 

И доступ к значение в е GridView событие обновления:

ItemRequiredTextBox irtBox = (ItemRequiredTextBox)gvMyGridView.Rows[e.Item.ItemIndex].FindControl("updatedBy"); 
string myText = irtBox.Text; 

Здесь gvMyGridView ваш GridView

+0

Пробовал withis код, но он не работает, Grid View еще обновляя значение 0 ... – RJ1511

+0

Я отредактировал мой ответ. – afzalulh

+0

Спасибо, я получил ответ .... Я фактически привязывал одно значение к 2 атрибутам, я удалил один, и он сработал .... Большое спасибо Anyways :) – RJ1511

Смежные вопросы