Рейтинг:
5
sachin.vishwa90
для этого есть плагин jquery. http://www.jqueryscript.net/text/jQuery-Plugin-For-Truncating-Text-with-Read-More-Links-jReadMore.html
вы должны изменить свой html-текст, как указано в блоге.
ключевая часть-это активация вашего кода плагина. для этого вам придется написать javascript на Вашей странице aspx.
<script type='text/javascript'>
function activateReadmore(){
$('.read-more').readMore();
}
<script>
вы должны вызвать эту функцию после того, как свяжете свой html-код в коде c#
blogData.InnerHtml = sb.ToString();
// after this you will activate your function
Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","activateReadmore()",true);
надеюсь, это поможет
Umair Nafis
сэр, я использовал freetextbox для вставки описания блога в базу данных, теперь, когда я связываю эти данные на веб-странице, он отображает весь текст. я хочу показать только ограниченный текст из описания блога, я использовал x. blogDescription.ToString (). SubString(200), из-за этого метода он также показывает HTML-тег на веб-странице, так есть ли какое-либо альтернативное решение привязки ограниченного текста freetextbox/RichtextBox ? Спасибо
Рейтинг:
15
sachin.vishwa90
для получения дополнительной логики вы можете поискать ее в google. однако я публикую ответ на этот вопрос, где вы хотите перебирать записи и формировать HTML.
В основном в коде c# на методе page_Load вы будете запускать запрос linq, который вы написали.
после взятия записи вы сформируете HTML-код и свяжете этот HTML-код с заполнителем, который находится на aspx.
таким образом, ваш код aspx будет
<div id="blogData" runat="server"></div>
и в вашей загрузке страницы вы напишете ниже код
var query = (from c in db.table
select new
{
c.id,
c.Author,
c.BlogTitle,
c.BlogDescription
}).OrderByDescending(d => d.id)
// got the records. loop through it
System.Text.StringBuilder sb = new System.Text.StringBuilder();
query.ForEach(x => { sb.Append(string.Format("<div class='row '><div class='col-xs-12'><div class='item item-left'><div class='col-md-6 nopadding hidden-xs'><img src='../images/blog/1.jpg' alt='News Image'><span class='img-overflow'></span><div class='arrow-left'></div></div><div class='col-xs-6 '><div class='content'><p class='date'>{0}</p>'+'<h2>{1}</h2>'+'<p>{2}</p>'+'<a href='artikel' class='btn btn-primary btn-xs'>Read More</a>'+'<span class='comments'>0 '></span></div></div></div></div></div>", x.Author, x.BlogTitle,x.BlogDescription)); });
//sb will have your formed HTML.
// now you will put this html to placeholder div
blogData.InnerHtml = sb.ToString();
Примечание: это не проверенный код, который вам может понадобиться изменить. Желаю удачи
Umair Nafis
Спасибо за ответ сэр,
Я попробовал ваш код, но я получаю ошибку в ForEach ()..вам не хватает директивы using или ссылки на сборку.
Umair Nafis
Большое вам спасибо, сэр, это работает, я только что использовал
запрос.Вызова метода toList().По каждому элементу(...),,...
Большое спасибо, сэр.
sachin.vishwa90
лол, я собирался ответить то же самое, но ты знаешь, почему ты должен использовать .Список есть?
Umair Nafis
На самом деле я действительно dnt знаю, почему я использовал ToList() здесь, как я dnt, что должно быть лучшим вариантом для извлечения всех данных из базы данных. пожалуйста, поправьте меня, если у меня есть лучший вариант, чем ToList (). Я просто хочу связать все данные..
Кроме того, сэр, я хочу знать, есть ли у вас возможность отображать только ограниченный текст в описании блога со ссылкой read more..надеюсь, вы поймете.
sachin.vishwa90
вы использовали инструкцию linq для выбора записей из базы данных. Итак, как работает этот linq, что бы вы ни писали здесь в коде c#, он внутренне создает SQL-оператор и когда вы пишете .ToList () тогда он фактически запускает SQL-оператор. в более раннем случае этот оператор был создан, но не выполнен. как только ты написал .ToList () выполнил запрос и принес вам данные.
для readmore я скоро опубликую пост.
Umair Nafis
Большое вам спасибо, сэр, вы просто великолепны.
Сэр, но этот метод не работает для привязки изображений, как вы можете видеть здесь, я непосредственно отображаю одно изображение во всех блогах, но если я использую ASP image control в этом для динамической привязки изображений, imageId не обнаруживается компилятором.
Umair Nafis
Как привязать изображение этого конкретного блога в этом теге : "" т. е. путь к изображению сохраняется в sqlserver и изображение в папке проекта, можно ли привязать эти изображения в этом теге? пожалуйста, скажите мне, что я буду очень благодарен вам, сэр.
sachin.vishwa90
привет, это тоже можно легко сделать. все, что вам нужно сделать, это выбрать путь к этим изображениям, а также в вашем заявлении select, как показано ниже.
выберите новый
{
гр.идентификатор,
гр.Автор,
гр.BlogTitle,
гр.BlogDescription,
гр.Продуктам
}).OrderByDescending(d => d.id)
а затем свяжите этот путь с тегом src в строке.
СБ.Добавить(строка.Формат("....&ЛТ;ИМГ СРЦ='{3}' .....",х.Автор, х.BlogTitle,х.BlogDescription,х.Продуктам));
надеюсь, это поможет. может быть, вам придется проверить путь изображения, является ли он относительным или абсолютным путем.
Umair Nafis
Здравствуйте, сэр, это нормально, я попробовал, и это работает, но я хочу добавить несколько изображений, из приведенного выше кода я могу привязать только изображение signle, предположим, если блог содержит более одного изображения, то как я могу его привязать?
Большое спасибо
sachin.vishwa90
ну, в этом случае вам придется сначала сформировать HTML-файл ImageList и ввести сформированный HTML-код в string.format. надеюсь, вы это понимаете
Umair Nafis
К сожалению, у меня не получилось у. Будет очень полезно, если вы предоставите какой-нибудь код или ссылку.