我有这个用户控件:
<user:RatingStars runat="server" product="<%= getProductId() %>" category="<%= getCategoryId() %>"></user:RatingStars>
你可以看到,我通过调用两个方法来填写产品和类别:
public string getProductId()
{
return productId.ToString();
}
public string getCategoryId()
{
return categoryId.ToString();
}
我不明白为什么在用户控件中,当我获取到接收的数据(产品和类别)时,它会给我"<%= getProductId() %>"而不是从该方法接收的id...
非常感谢任何帮助...
编辑:问题已解决:product='<%# getProductId() %>'
最后一个问题:在用户控件中,我有:
public string productId;
public string product
{
get
{
return productId;
}
set
{
productId = value;
}
}
所以,我期望productId在用户控件中被正确地设置了。不幸的是,当我尝试使用它时,它是null...
我写错了什么吗?
DataBind();
。在product="<%# something >"
中,# 表示它是一个数据绑定表达式。只有在调用 'DataBind()' 之后才会实际调用something
...通常在承载控件的PageLoad()
中。 - Jon