1
我试图从.aspx文件访问.cs文件中的变量或属性,但没有任何运气。我已经看过这里的几个主题,并尝试过所有这些,但仍然没有运气。这是场景;我有与文本框GridView控件和一个排一个RequiredFieldValidator: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控件。
下面是从我的.cs代码:
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();
}
任何想法,为什么它不工作?
你不应该绑定的ErrorMessage <%# %>,而不是做的Response.Write <%= %> – 2012-02-18 22:17:47
OMG,我现在觉得很傻......那个工作.... th anks。你可以发帖作为答案,所以我可以标记它。 – Robert 2012-02-18 22:20:41
nuux的答案也是正确的,所以你接受:) – 2012-02-18 22:31:29