YouTubeからビデオを取り込んでリストに追加するコードを少し書こうとしています。私はフォームにURLを渡してコントローラに渡すことでこれをやっています。しかし、何も起こらない。aspヘルパータグを使用したビューフォームからのMVCアクションの実行
ビュー:
<form asp-action="addVideo" asp-controller="Video" validate="validate">
<input name="vidUrl" type="url" placeholder="Search for a video" required="required"/>
<input type="submit" value="Search"/>
</form>
はコントローラー:
public ActionResult addVideo(string vidUrl)
{
//Do stuff...
return RedirectToAction("Index");
}
私はaddVideoをデバッグしようとしたが、フォームを送信すると、ブレークポイントをトリガしたことがありません。結果のURLは次のようになりますhttp://(domain)/Video?vidUrl=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DdTDy8XVdRSk
ビューがコントローラを呼び出さない理由はありますか?
更新:
私が問題を引き起こしているか知っています。間違いなくasp-actionタグとasp-controllerタグです。以前は@ Html.ActionLink( "Home"、 "Index"、 "Home")のような剃刀で制御されていたWebページの上にnavbarがあります。私は同じコントローラとアクション値を持つアンカータグのセットにこのリンクを切り替えようとしましたが、ウェブサイトには何の影響もありません。これはパッケージの問題ですか?
私はHTMLフォームでこの記事を読んできましたが、フォームタグにmethod = "post"が指定されていない場合があります。 https://www.w3.org/TR/html401/interact/forms.htmlこの問題を処理するVisual Studioには、他のIDEにはないものがありますか? –
結果が変わります。ビデオURLは、ブラウザのURLに追加されなくなりました。私はルーティング問題があると思っています。 –
さらに多くのテストを実行した後、私が呼び出すアクションは、私がコールしようとしているのと同じコントローラにルーティングされているように見えますが、インデックスアクションであり、必要なアクションではありません。 –