2010-10-12 3 views
0

на моей главной странице есть элемент управления меткой. Если его значение равно «Value1», я хочу, чтобы this CSS Sprite отображался на моей веб-форме .., если значение «Value2» .. CSS-спрайт должен использовать какое-то другое изображение. Просто изображение должно быть изменено. Но ничего в этом Sprite.Как изменить изображение внутри CSS пользовательского управления

Я узнал, что могу использовать метод «FindControl», чтобы узнать, какое значение имеет управление Label Control Главная страница в настоящее время получена.

Теперь, как изменить это изображение на баннере ?? Как мне это сделать? Кроме того, CSS Sprite теперь представляет собой пользовательский элемент управления с именем «myBanner.ascx» (ранее был файл aspx). Теперь мне нужно сделать 2 diff usercontrols, или я могу реализовать некоторую логику в одном пользовательском управлении?

Должен ли я сделать 2 копии этого «myBanner.ascx» с ТОЛЬКО «изменением имени изображения» в его CSS?

надеюсь, что его не confusing..Actually Я потерял:/

То, что я хочу, это ОДИН баннер, который был сделан с помощью CSS Sprite ..Now если «метка элемента управления» значение в главной странице «Значение1 «тогда изображение, которое будет использоваться на этом баннере, равно« IMAGE1 », если значение« Значения метки »равно« Value2 », тогда в этом спрайте следует использовать« IMAGE2 ».

Как это сделать? Нужно просто идеи..thnx

+1

Не отправляйте свои вопросы дважды, если у вас нет ответов, condsider пересматривает вопрос, чтобы иметь больше смысла или приводить примеры (jsfiddle, live examples, screeshots и т. Д.) Точный дубликат http: // stackoverflow. com/questions/3912455/need-to-display-2-diff-banner-sprites-on-same-page-based-on-the-the-a-contro – Kyle

ответ

1

hmm Возможно, я не понимаю это правильно, но почему бы вам не заставить usercontrol найти метку мастера (findcontrol); проверьте значения; а затем отобразить правильное изображение.

способ отображения изображения вы можете либо иметь локальную переменную (в UserControl), где вы потом просто его как <%=ImagePath%> и иметь чек в PageLoad

или вы можете иметь метод, который проверяет, этикетка как:

<div id="banner" style="background-image:url(<%=GetImagePath()%>);"></div> 

бэкэндом

protected string GetImagePath() { 
string s = ((Label)this.Page.Master.FindControl("label1")).Text; 
//if ... etc 
} 

Я надеюсь, что это то, что вы ищете в противном случае, дайте мне знать, так что я могу изменить answe r

удачи!

+0

thnx для ответа ... попробуем его и вернуться сюда – Serenity

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