2012-02-18 14 views
1

.aspxファイルから.csファイルの変数またはプロパティにアクセスしようとしていますが、運がないとします。私はここでいくつかのスレッドを見てきましたが、それらを試してみましたが、まだ運がありません。ここにシナリオがあります。ASP.NET - .aspxページの変数を使用します。

<asp:TemplateField HeaderText="User Name" ItemStyle-Width="10px"> 
    <ItemTemplate> 
     <asp:Label ID="lblWebLogin" runat="server" Text='<%#Eval("WebLogin") %>'></asp:Label> 
    </ItemTemplate> 
    <EditItemTemplate> 
     <asp:TextBox ID="txtWebLogin" runat="server" Text='<%#Eval("WebLogin") %>'></asp:TextBox> 
     <asp:RequiredFieldValidator ID="rfvEditWebLogin" runat="server" 
      ControlToValidate="txtWebLogin" Display="None" ErrorMessage='<%= this.LoginRequired %>'></asp:RequiredFieldValidator> 
    </EditItemTemplate> 
    <FooterTemplate> 
     <asp:TextBox ID="txtWebLogin" runat="server"></asp:TextBox> 
    </FooterTemplate> 
</asp:TemplateField> 

私は文字列リテラルのにErrorMessageを設定し、それが動作することを見ることができるので作業しているフォーム上のValidationSummaryコントロールがあります:私は、テキストボックスと、GridViewコントロールと1行でのRequiredFieldValidatorを持っています。

public string LoginRequired 
{ 
    get { return "Error, please try again"; } 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
     BindDataToGrid(); 
} 

private void BindDataToGrid() 
{ 
    DataTable dt; 
    SqlCommand sc = new SqlCommand(); 
    DAL oDAL = new DAL(DBInformation.Instance.CurrentEncodedConnectionString, DBInformation.Instance.ConnectionTimeout); 

    //Get User Information. 
    sc.CommandText = Constants.StoredProcedureNames.GetUsers; 
    dt = oDAL.SPDataTable(sc, "AllUsers"); 
    gvUsers.DataSource = dt; 

    foreach (DataRow dr in dt.Rows) 
     lUser.Add(new User()); 

    gvUsers.DataBind(); 
} 

任意のアイデアそれは働いていない理由として:

ここに私は.csからのコードは?

+0

<%= %> –

+0

OMG、私は今、愚かな気がする.....その仕事.... anks。私はそれをマークすることができますので、あなたは答えとして投稿できますか? – Robert

+1

nuuxの答えも正しいので、あなたはそれを受け入れる:) –

答えて

2

の変更、ページの読み込み中にこの

ErrorMessage='<%= this.LoginRequired %>' 
この

ErrorMessage='<%# this.LoginRequired %>' 

にで

と呼んDataBind()あなたがResponse.Writeをを行うにErrorMessage <%# %>をバインドしていないではないはずです

protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
    { 
    DataBind(); 
    BindDataToGrid(); 
} 
} 
関連する問題