簡體   English   中英

從.Net(MVC)中的視圖按鈕調用控制器方法的最簡單方法

[英]Simplest way to call a controller method from a view button in .Net (mvc)

我剛剛開始在MVC進行編程,我想從您的角度詢問調用控制器方法的最佳方法。 為了簡化操作:我有一個名為Song的模型,其中有2種方法可以啟動和停止它:

public class Song
{
        WMPLib.WindowsMediaPlayer wplayer ;

        public Song() {
            wplayer = new WMPLib.WindowsMediaPlayer();
            wplayer.URL = "my song url";
            wplayer.controls.stop();
        }
        public void Stop() {
            wplayer.controls.stop();
        }
        public void Start() {
            wplayer.controls.play();
        }
    }

在控制器中,我創建了歌曲對象,並且有兩個函數來啟動和停止它。

public class DefaultController : Controller
        {
            // GET: Default
            Song c = new Song();

            public ActionResult Index()
            {
                return View(c);
            }
            public void Start() {
                c.Start();            
            }
            public void Stop() {
                c.Stop();
            }
        }

在視圖中,我有2個按鈕,分別與每個控制器操作相對應。

<button type="button">Start</button>
<button type="button">Stop</button>

如何以最正確的方式從視圖按鈕調用每個控制器動作?

非常感謝您的關注,感謝您的幫助

您可以使用set href path從view調用controller

<a class="btn btn-success" href="@Url.Action("Start", "DefaultController")">Start</a>

如果要傳遞參數,則:

<a class="btn btn-success" href="@Url.Action("Start","DefaultController", new {id=Item.id })">Start</a>

或其他選項,您可以檢查此鏈接

您可以使用ajax調用控制器方法,也請參考此鏈接

實現此目標的一種非常簡單的方法是使用Razor,如下所示:

<button type="button" onclick="location.href='@Url.Action("Start", "DefaultController")'">Start</button> 

  <button type="button" onclick="location.href='@Url.Action("Stop", "DefaultController")'">Stop</button>

暫無
暫無

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

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