Текст на Кнопке с изображением в c# asp.net 3.5

Если я вас правильно понимаю, то думаю, что это решение. Ваша проблема была с первым map, который не будет выполнять внутреннюю подписку, а просто преобразует поток в Observables of Observables, который, кажется, не соответствует вашим ожиданиям. Вместо этого я использовал mergeMap там.

Внутри from я использовал concatMap, чтобы заставить каждое излучение из first и second происходить по порядку и ждать завершения одного, прежде чем начнется другое. Я также настроил функции postToEndpoint, которые возвращают Observables, чтобы они были ближе к тому, как ваш реальный код, вероятно, будет выглядеть.

StackBlitz Демо

код:

import { mergeMap, concatMap, delay, tap, catchError, toArray } from 'rxjs/operators';
import { merge, of, from, concat, throwError } from 'rxjs';

const single = "name";

const first = ["abc", "def"];

const second = of("ghi", "jkl", "mno");

const postToEndpoint1$ = photo => of(photo).pipe(
  tap(data => console.log('start of postTo1 for photo:', photo)),
  delay(5000),
  tap(data => console.log('end of postTo1 for photo:', photo))
);

const postToEndpoint2$ = video => of(video).pipe(
  tap(data => console.log('start of postTo2 for video:', video)),
  delay(5000),
  tap(data => console.log('end of postTo2 for video:', video))
);

of(single).pipe(
  tap(val => console.log(`initial emit:${val}`)),
  mergeMap(claim => 
    merge(
      from(first).pipe(concatMap(postToEndpoint1$)),
      from(second).pipe(concatMap(postToEndpoint2$))
      )
  ),
  toArray(),
  catchError(error => {
    console.log("error");
    return throwError(error);
  })
).subscribe(val => console.log(`final:`, val));

Надеюсь, это поможет.

10
задан 4 November 2008 в 15:22
поделиться

4 ответа

<button runat="server" 
  style="background-image:url('/Content/Img/stackoverflow-logo-250.png')" >
  your text here<br/>and some more<br/><br/> and some more ....
  </button>
21
ответ дан 3 December 2019 в 14:18
поделиться

Вы не можете сделать этого с ImageButton.

Однако можно использовать простое Button, установите текст и добавьте фоновое изображение (bluebutton.gif) использование CSS для достижения желаемого эффекта.

6
ответ дан 3 December 2019 в 14:18
поделиться

Я не думаю, что можно записать текст в управление ImageButton ASP.NET. Можно генерировать изображение на лету, если это - то, в чем Вы нуждаетесь и пишете текст из своего кода позади, но это будет слишком сложно, используйте нормальную кнопку с CSS вместо этого, если Ваше изображение не может быть сгенерировано CSS.

0
ответ дан 3 December 2019 в 14:18
поделиться

You can also do this using an asp:Label, like this:

<style type="text/css">
    .faux-button
    {
        cursor:pointer;
    }
</style>

<div class="faux-button">
    <asp:ImageButton ID="ibtnAddUser" 
        runat="server" 
        ImageUrl="~/Images/add.gif" 
        AlternateText="Add a user image" />
    <asp:Label ID="lblAddUser" 
        runat="server" 
        Text="Add User" 
        AssociatedControlID="imgClick" />
</div>
0
ответ дан 3 December 2019 в 14:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: