2017-06-29 113 views
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」)等剃鬚刀語句控制。我嘗試將此鏈接切換爲一組具有相同控制器和操作值的定位標記,但它對網站沒有任何影響。這是包裹問題嗎?

+0

我一直在閱讀關於HTML表單的這篇文章,它可能與我的表單標記中缺少method =「post」有關。 https://www.w3.org/TR/html401/interact/forms.html是否有什麼在視覺工作室處理這個問題,並沒有在其他IDE? –

+0

這確實會改變結果。視頻網址不再附加到我瀏覽器中的網址。我猜測有一個路由問題。 –

+0

運行更多測試後,它看起來像我試圖調用的操作將我路由到我試圖調用的同一控制器,但它只是索引操作而不是我想要的操作。 –

回答

0

發現它,html標籤助手是一個核心功能,這是我的ide Xamarin不支持的,也不是multitarget。我想切換回Visual Studio就足夠了。