Asp-действие внутри формы не идет к контроллеру

Я тестирую этот код и

$db=new PDO('mysql:host=localhost;dbname=cwDB','root','',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$sql="select * from products  ";
$stmt=$db->prepare($sql);
$stmt->execute();
while($result=$stmt->fetch(PDO::FETCH_ASSOC)){                  
    $id=$result['id'];
}
2
задан Tetsuya Yamamoto 25 February 2019 в 05:59
поделиться

1 ответ

Я думаю, что когда вы используете asp-action, вы должны указывать только имя действия, а не полный путь.

Например. Если ниже код на вашей странице:

<form asp-controller="Demo" asp-action="Register" method="post">
    <!-- Input and Submit elements -->
</form>

Этот код преобразуется в следующий код:

<form method="post" action="/Demo/Register">
    <!-- Input and Submit elements -->
    <input name="__RequestVerificationToken" type="hidden" value="<removed for brevity>" />
</form>

Убедитесь, что после преобразования кода на стороне сервера в HTML нет asp-action, есть только атрибут action, понятный HTML-форме.

Для вас вам придется изменить код на:

@model TodoItem
<form asp-controller="Todo" asp-action="AddItem" method="POST">
    <label asp-for="Title">Add a new item:</label>
    <input asp-for="Title">
    <button type="submit">Add</button>
</form>

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

0
ответ дан Manoj Choudhari 25 February 2019 в 05:59
поделиться
Другие вопросы по тегам:

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