繁体   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