我刚开始学习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();
}
}
在视图中,我有两个按钮与每个控制器动作对应。
<button type="button">Start</button>
<button type="button">Stop</button>
我应如何以最正确的方式从视图按钮调用每个控制器动作?
非常感谢您的关注,我很感激您的帮助。
Start()
和Stop()
将是你通过 AJAX 调用的控制器动作。同时请记得每个请求都会创建一个新的控制器实例,因此在执行完动作后,Song 实例也将丢失。 - Jasen