2014-12-13 2 views
0

Я генерирую некоторый html в C# и назначая его литералу в aspx, используя некоторые данные из базы данных. в коде ниже offtitle.Rows[off]["Offeringtitle"].ToString() приносит значение с задней косой черты «\»Обратный слэш, вызывающий проблемы в javascript

sb.Append("<li><a href=\"#\" onclick=\"popupIncSummary('"); 
sb.Append(offtitle.Rows[off]["Offeringtitle"].ToString()); 
sb.Append("')\">"); 
sb.Append(offtitle.Rows[off]["Offeringtitle"].ToString()); 
sb.Append("</a></li>"); 

Это снова слэш вызывает ошибку в JavaScript «незавершенная строка постоянной» во время загрузки страницы.

Пожалуйста, помогите мне в этом отношении Благодаря

+0

Почему вы генерируете HTML таким образом? Почему бы не использовать движок просмотра? –

+0

Я использую webforms –

+1

Тогда почему вы вручную сериализуете HTML с помощью stringbuilder? Используйте привязки в веб-формах. –

ответ

0

Heres пример рендеринга HTML с использованием WebForms вместо сериализации с помощью StringBuilder

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     var tempList = new List<object>(); 
     tempList.Add(new { Title = "test" }); 
     Repeater1.DataSource = tempList; 
     Repeater1.DataBind(); 
    } 
} 

И на наш взгляд:

<asp:Repeater ID="Repeater1" runat="server"> 
    <ItemTemplate> 
     <a href="#" onclick="popIncSummary(<%# Eval("title") %>)"> 
      <%# Eval("title") %> 
     </a> 
    </ItemTemplate> 
</asp:Repeater> 
Смежные вопросы