Шаг 1 - Вы можете написать функцию javascript, которая будет отправлять запрос ajax вашему методу контроллера
Шаг 2 - Возвращать нужные данные из этого метода
Предполагая, что имя вашего контроллера Дома, вы можете сделать что-то вроде этого-
<button onclick="GetData()" type="submit">Search</button>
function GetData() {
$.get("/Home/GetUserInfo", function (data) {
// Here put what do you want from received data
});
}
В точности то, что написано:
'name1 '
имеет тип данных, отличный от ' name '+ CAST ((rn + 1) as varchar (255))
Попробуйте это (непроверено)
;with cte as
(
select 1 as rn, CAST('name1' as varchar(259)) as nm
union all
select rn+1,nm = 'name' + CAST((rn+1) as varchar(255))
from cte a where rn<10)
select * from cte
По сути, вы должны убедиться, что длина соответствует тоже. Для рекурсивного бита вам, возможно, придется использовать CAST ('name' AS varchar (4))
, если он снова не работает
При использовании CONCAT в рекурсивном термине rcte так как выходной тип concat является varchar (МАКС), только необходимо бросить столбец в начальном запросе:
WITH rcte AS (
SELECT 1 AS nr, CAST('1' AS varchar(MAX)) AS trail
UNION ALL
SELECT nr+1, CONCAT(trail, '/', nr+1)
FROM rcte
WHERE nr < 5
)
SELECT * FROM rcte;
Вам необходимо использовать оба поля nm
;with cte as
(
select 1 as rn,
CAST('name1' AS VARCHAR(255)) as nm
union all
select rn+1,
nm = CAST('name' + CAST((rn+1) as varchar(255)) AS VARCHAR(255))
from cte a where rn<10)
select * from cte
;with cte as
(
select 1 as rn, 'name' + CAST(1 as varchar(255)) as nm
union all
select rn+1,nm = 'name' + CAST((rn+1) as varchar(255))
from cte a where rn<10)
select * from cte