0
因此,我正在嘗試編寫一些代碼,該視頻從YouTube獲取視頻並將其添加到列表中。我通過將URL傳遞給表單並將其傳遞給控制器來完成此操作。然而,沒有任何反應。MVC從asp助手標籤的視圖窗體運行動作
查看:
<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」)等剃鬚刀語句控制。我嘗試將此鏈接切換爲一組具有相同控制器和操作值的定位標記,但它對網站沒有任何影響。這是包裹問題嗎?
我一直在閱讀關於HTML表單的這篇文章,它可能與我的表單標記中缺少method =「post」有關。 https://www.w3.org/TR/html401/interact/forms.html是否有什麼在視覺工作室處理這個問題,並沒有在其他IDE? –
這確實會改變結果。視頻網址不再附加到我瀏覽器中的網址。我猜測有一個路由問題。 –
運行更多測試後,它看起來像我試圖調用的操作將我路由到我試圖調用的同一控制器,但它只是索引操作而不是我想要的操作。 –