Ich habe diese Benutzersteuerung:Pass Parameter an eine Benutzersteuerung - asp.net
<user:RatingStars runat="server" product="<%= getProductId() %>" category="<%= getCategoryId() %>"></user:RatingStars>
Sie können sehen, dass ich in der Produkt- und Kategorie füllen durch zwei Methoden aufrufen:
public string getProductId()
{
return productId.ToString();
}
public string getCategoryId()
{
return categoryId.ToString();
}
I verstehe nicht, warum, in der Benutzerkontrolle, wenn ich die empfangenen Daten (Produkt und Kategorie) nehme ich "<% = getProductId()%>" statt die ID von dieser Methode erhalten ...
Jede Hilfe wäre freundlich geschätzt ...
bearbeiten: Gelöst mit: product = '<% # getProductId()%>'
Letztes Problem: in der Benutzerkontrolle Ich habe diese:
Also, ich erwarte, dass die ProductId ok in der Benutzersteuerung eingerichtet ist. Leider ist es null, wenn ich versuche, es zu benutzen ...
Ist irgendetwas, das ich schrieb, das ist falsch?
Haben Sie versucht, productId auf etwas in Ihrer Hauptmethode zu setzen? – 5arx
Denken Sie daran, 'DataBind();' irgendwo in der Seite aufzurufen, die das Steuerelement hostet ... In 'product =" <% # etwas> "' bedeutet das # einen Databind-Ausdruck. Es wird nicht wirklich 'etwas' aufrufen, bis Sie 'DataBind()' aufrufen ... Üblicherweise im' PageLoad() ', das das Steuerelement hostet. – Jon