2017-11-10 1 views
0

Hier habe ich das Problem, ich mache Server Seite DataTable Filter nach dem Einfügen von Text in datierbare Suchfeld welcher Inhalt einfache Anführungszeichen z. B.- (Validierung für einen fehlgeschlagen oder mehr Entitäten. Siehe Eigenschaft 'EntityValidationErrors' für weitere Details.) Wenn dieser Text ich im Suchfeld gebe und ich versuche, von der Server-Seite zu filtern, dann erhalte ich einen Fehler.jQuery dataTable serverseitige Suche funktioniert nicht, wenn Textinhalt einfache Anführungszeichen

in unten ich meine Aktionsmethode Code

string searchValue = Request["search[value]"]; 
searchValue = searchValue.Trim(); 
v = db.Database.SqlQuery<ListViewModel>("select EL.Id,USR.FullName as UsrName,case when EL.E_Message is null or EL.E_Message = '' then '--Message Not Found--' else EL.E_Message end as E_Message,case when EL.InnerException is null or EL.InnerException = '' then '--Not Found--' else EL.InnerException end as InnerException,EL.DateTimeErrorLogged, case when C.name is null then '--No Company Found--' else C.name end as company from s_ErrorLogs EL inner join AspNetUsers USR on EL.UserID = USR.Id Left join company C on EL.Company_Id = C.id where USR.FullName LIKE '%'" + searchValue + "'%' or E_Message LIKE '%'" + searchValue + "'%' or EL.InnerException LIKE '%'" + searchValue + "'%' or EL.DateTimeErrorLogged LIKE '%'" + searchValue + "'%' or C.name LIKE '%'" + searchValue + "'%' order by EL.Id"); 

Antwort

0

Versuchen unter Angabe Ihrer Zeichenfolge ersetzen enthält "(1 einfache Anführungszeichen) von '' (2 einfache Anführungszeichen) ......

string searchValue = Request["search[value]"]; 
searchValue = searchValue.Trim(); 
v = db.Database.SqlQuery<ListViewModel>("select EL.Id,USR.FullName as UsrName,case when EL.E_Message is null or EL.E_Message = '' then '--Message Not Found--' else EL.E_Message end as E_Message,case when EL.InnerException is null or EL.InnerException = '' then '--Not Found--' else EL.InnerException end as InnerException,EL.DateTimeErrorLogged, case when C.name is null then '--No Company Found--' else C.name end as company from s_ErrorLogs EL inner join AspNetUsers USR on EL.UserID = USR.Id Left join company C on EL.Company_Id = C.id where USR.FullName LIKE '%'" + searchValue.Replace(''','''') + "'%' or E_Message LIKE '%'" + searchValue.Replace(''','''') + "'%' or EL.InnerException LIKE '%'" + searchValue.Replace(''','''') + "'%' or EL.DateTimeErrorLogged LIKE '%'" + searchValue.Replace(''','''') + "'%' or C.name LIKE '%'" + searchValue.Replace(''','''') + "'%' order by EL.Id"); 
+0

Kein Abhishek es arbeitet gleichen Fehler gibt ... – sang

+0

ERRO: Syntaxfehler in oder neben "'Mn'" SQL-Status: 42601 Zeichen: 26? Ist das dein Fehler ???? –

+0

Ich habe Ihren Code geändert und jetzt funktioniert es thnaks zB ich werde für andere gezeigt ----- wo USR.FullName LIKE '% "+ searchValue.Replace ("' "," '' ") +"% 'oder E_Message LIKE '%' + searchValue.Replace ("'", "' '") + "%' – sang

0

i Code geändert und nun seine arbeiten durch zB i für andere sind gezeigt ----- wo USR.FullName LIKE '% "+ searchValue.Replace ("' " " ''") +" % 'oder E_Message LIKE'% "+ searchValue.Replace (" '","' '") +"%'

Verwandte Themen