簡體   English   中英

如何使用 ASP.NET MVC C# Html 從視圖中調用控制器中的函數

[英]How to call a function in the controller from the view using ASP.NET MVC C# Html

我正在嘗試在視圖和控制器之間建立一個簡單的連接。 我在視圖中有一個按鈕

<button value="submit" onclick="location.href='@Url.Action("submit", "Home")'" >Submit</button>

我在這里有控制器功能

public ActionResult submit()
{
    Console.WriteLine("hello test");
    return View();
}

當我調試它時調用該函數,但是當它通過它時會導致未處理的異常。

我對此還是個新手,還沒有找到一種簡單的方法來從不會嘗試更改到新頁面的視圖中調用控制器上的函數。 感謝您的任何幫助。

如果你使用

return View();

在控制器方法中,您需要確保您有一個 .cshtml 視圖文件。 在您的情況下,我認為您需要添加 submit.cshtml 文件。

你的錯誤很可能是因為你

A: 沒有名為 submit 的視圖,並且由於您沒有在控制器返回中命名視圖,因此它正在尋找它找不到的視圖或

B:您沒有返回視圖期望的視圖模型,張貼您獲得的異常將更容易幫助您解決這個問題!

您將需要使用 java 腳本來實現您想要的。 沒有辦法在不引起頁面刷新的情況下調用控制器中的函數,即使您不返回視圖,或者返回相同的視圖,它最終會進行整頁刷新。

您需要考慮使用像 fetch() API 這樣的異步 java 腳本調用,這將允許您觸發控制器中的方法,然后您可以將此方法的結果作為 json 返回,或者通過重新渲染局部視圖。 除非我誤解了你想要達到的目標!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM